"Fusion Drive might be the most interesting announcement
today for our day-to-day computing. Similar SSD-as-cache
arrangements have been kicking around in the Windows PC
market for a while, and the Seagate Momentus XT brought a
large cache to laptop drives a few years ago, but these
have only brought mixed success and mediocre improvements so far.
With tight OS integration, larger performance gains are
possible."
As someone that has used Momentus XTs in a few different systems, they make a very significant day to day difference when compared to a non-cached standard HDD of similar RPM. The improvement clearly isn't the same as a true SSD, but is is very noteworthy, especially given the price per GB of these drives versus true SSDs.
Also, I don't see how having "tight OS integration" will improve this sort of drive. The drive already knows which sectors you are accessing the most and can optimize the cache for that, how is involving the OS supposed to make a significant difference here?
You are comparing "Momentus" a hybrid drive with "Fusion Drive" a tiered storage solution. Fusion Drive gives you a giant, huge SSD drive compared to Momentus' on-drive flash. We are talking about orders of magnitude in difference in flash size.
There are several reasons why OS integration could yield better performance. Notably, an understanding of what happens at boot time. While the machine is running, stuff useful for boot may not be used again. However, the OS can signal to the tiered storage "hey, we are shutting down. prepare the SSD so it will be fast for boot!".
The scenarios are endless. We could talk about hibernation, etc.
I have the same drive and I'm also experiencing massive speed-ups, I'm quite happy with it.
But don't forget that with the Momentus, the SSD acts only as a read cache, ie all writes must still go directly to the HDD. With Apple's innovation, files that are heavily used profit from being fully on SSD for both read and write.
The OS knows about entire applications / resource bundles / documents and can run stronger heuristics against your usage than a blind block-level controller.
Fusion Drive is just flashcache with some sort of adaptive caching algo. There's zero reason to care about what the type of a file is. The reason they showed it like that in the keynote was because normal people don't know what a block device is.
You are not correct, it is _not_ a cache but instead something that provides the union of storage between two drives. Remember, the examples have stuff _only_ on the SSD.
Instead, this appears to be an implementation of so-called "tiered storage". This is novel in that is the first time such an approach has been applied to consumer grade solutions. Usually, one might find tiered storage as part of an extremely expensive solution that EMC might give you as part of an elaborate storage system.
I would be willing to bet a fair amount of money that all of those fancy heuristics would be easily beaten in almost every case by a simple adaptive cache which was based on how often and recently sectors on the disk were accessed. The disk drive knows more about the actual data layout on the platters than the OS does, and that's what really matters here.
Over time, you are probably right. I think an OS-driven approach could have quicker time-to-steady-state resolution though.
If you have a large document (a few hundred MB) in an editor, the HD may SSDize parts of the document over and over again until the entire document is moved/cached. An OS-driven approach could move the entire document in one go.
Also, I don't see how having "tight OS integration" will improve this sort of drive. The drive already knows which sectors you are accessing the most and can optimize the cache for that, how is involving the OS supposed to make a significant difference here?