A Month with Apple's Fusion Drive
by Anand Lal Shimpi on January 18, 2013 9:30 AM EST- Posted in
- Storage
- SSDs
- SSD Caching
- Mac
- Apple
- Fusion Drive
When decent, somewhat affordable, client focused solid state drives first came on the scene in 2008 the technology was magical. I called the original X25-M the best upgrade you could do for your system (admittedly I threw in the caveat that I’d like to see > 100GB and at a better price than $600). Although NAND and SSD pricing have both matured handsomely over time, there’s still the fact that mechanical storage is an order of magnitude cheaper.
The solution I’ve always advocated was a manual combination of SSD and HDD technologies. Buy a big enough SSD to house your OS, applications and maybe even a game or two, and put everything else on a RAID-1 array of hard drives. This approach works quite well in a desktop, but you have to be ok with manually managing where your files go.
I was always curious about how OEMs would handle this problem, since educating the masses on having to only put large, infrequently used files on one drive with everything else on another didn’t seem like a good idea. With its 6-series chipsets Intel introduced its Smart Response Technology, along with a special 20GB SLC SSD designed to act as a cache for a single hard drive or a bunch in an array.

Since then we’ve seen other SSD caching solutions come forward that didn’t have Intel’s chipset requirements. However most of these solutions were paired with really cheap, really small and really bad mSATA SSDs. More recently, OEMs have been partnering with SSD caching vendors to barely meet the minimum requirements for Ultrabook certification. In general, the experience is pretty bad.
Hard drive makers are working on the same problem, but are trying to fix it by adding a (very) small amount of NAND onto their mechanical drives. Once again this usually results in a faster hard drive experience, rather than an approximation of the SSD experience.
Typically this is the way to deal with hiding latency the lower you get in the memory hierarchy. Toss a small amount of faster memory between two levels and call it a day. Unlike adding a level 3 cache to a CPU however, NAND storage devices already exist in sizes large enough to house all of your data. It’s the equivalent of having to stick with an 8MB L3 cache when for a few hundred dollars more you could have 16GB. Once you’ve tasted the latter, the former seems like a pointless compromise.
Apple was among the first OEMs to realize the futility of the tradeoff. All of its mainstream mobile devices are NAND-only (iPhone, iPad and MacBook Air). More recently, Apple started migrating even its professional notebooks over to an SSD-only setup (MacBook Pro with Retina Display). Apple does have the luxury of not competing at lower price points for its Macs, which definitely makes dropping hard drives an easier thing to accomplish. Even so, out of the 6 distinct Macs that Apple ships today (MBA, rMBP, MBP, Mac mini, iMac and Mac Pro), only two of them ship without any hard drive option by default. The rest come with good old fashioned mechanical storage.
Moving something like the iMac to a solid state configuration is a bit tougher to pull off. While notebook users (especially anyone using an ultraportable) are already used to not having multiple terabytes of storage at their disposal, someone replacing a desktop isn’t necessarily well suited for the same.

Apple’s solution to the problem is, at a high level, no different than all of the PC OEMs who have tried hybrid SSD/HDD solutions in the past. The difference is in the size of the SSD component of the solution, and the software layer.




114 Comments
View All Comments
jeffkibuule - Friday, January 18, 2013 - link
Aren't a lot of solutions built for the technologically naive? ReplyNCM - Friday, January 18, 2013 - link
Apple's principal market, especially for the iMac, is to home and small business users. Once again dragging out the familiar, but still applicable, automotive metaphor, I'll point out that most people don't want to work on their cars. They just want to drive reliably to wherever they're going. That's the need that Apple's FD addresses, and it seems to do so rather well.Sure, the price adder is a bit higher than one might hope, but probably not so much that it'll frighten away prospective buyers.
Interestingly though, it lost our sale. I was ready to order another iMac with a 256GB SSD and a 1TB HD for the office. We keep most of the files on the server, but a 128GB SSD application/boot drive is a bit tight. However a 256GB SSD is just right, allowing plenty of free space to maintain SSD performance. The additional 1TB HD is then repurposed for local Time machine backup.
But that's not an option for the new iMac, which offers only HD or FD. And I'm not about to make a risky and warranty busting expedition into its innards in order to roll my own SSD solution (although my own MacBook Pro has a self-installed 512GB SSD).
Instead I ordered up a 256GB SSD Mac mini, plus what turned out to be a very nice 24" 16:10 IPS monitor from HP. Although I would have preferred the all-in-one iMac solution for a cleaner installation without gratuitously trailing cables, the Mac mini with SSD, i7 and 8GB RAM options is fast and effective. Reply
ThreeDee912 - Friday, January 18, 2013 - link
Wasn't this the kind of thing said about virtual memory in the 60's and 70's? Some people back then thought manually managing the location of everything in memory would make things more efficient, until some guys at IBM (or was it Bell Labs?) showed you saved heck of a lot more time letting the machine do it instead of trying to move things around yourself.This Fusion Drive really does reminds me of virtual memory. RAM and HDD mapped in a way so it appears as a single type of memory. Most stuff gets placed into RAM first, some stuff spills over onto the HDD, and stuff gets copied back and forth depending on how frequently it's used. The fast RAM is first priority, but there's the HDD as kind of a backup.
It's a bit different from a caching setup, where the computer has to "guess" a bit more about what should really be on the SSD. It's like the HDD is priority here, while the SSD is secondary.
And just like with virtual memory, none of this would matter if you had a huge amount of RAM or a very large SSD. Reply
web2dot0 - Saturday, January 19, 2013 - link
Great comment ThreeDee9. Someone with a rational mind.To all those "experts" who claim that it's better to manage it yourself, you can also write every program in ASM. It'll be fast and small, but I'll be done with the project in 1/10 the time. The point is .... the product is not meant to provide "absolutely the best possible configuration". It's meant to be best all around solution.
If you guys still don't get it. Well, I guess all these years in the education didn't really help you because logical people think rationally. Reply
psyq321 - Monday, January 21, 2013 - link
Hmm... is it just me who finds it slightly disturbing that we are comparing memory management (and, in some posts later, C vs. assembly coding) with the decision on how to organize documents/files?I would say that the intellectual investment is not really to compare.
Which does not mean that I have anything against SSD caching solutions - on the contrary, I see nothing wrong with ability to transparently manage the optimal location for the content. Reply
TrackSmart - Friday, January 18, 2013 - link
A month ago, I would have said the same thing, but see my other post to understand why more people need this than you think. The proportion of people who can handle manually segregating their files is much, much smaller than most of us realize. I have three systems setup with both an SSD and a HDD and have no troubles. But we are a tiny, tiny minority of users. ReplyBrooksT - Friday, January 18, 2013 - link
Excellent point and insight.I'm 40+ years old; I still know x86 assembly language and use Ethernet and IP protocol analyzers frequently. I'm fluent in god-knows how many programming languages and build my own desktops. I know perfectly well how to manage storage.
But why would I *want* to? I have a demanding day job in the technology field. I have a couple of hobbies outside of computers and am just generally very, very busy. If I can pay Apple (or anyone) a few hundred bucks to get 90% of the benefit I'd see from spending several hours a year doing this... why in the world would I want to do it myself?
The intersection of people who have the technical knowledge to manage their own SSD/HD setup, people who have the time to do it, and people who have the interest in doing it is *incredibly* tiny. Probably every single one of them is in this thread :) Reply
Death666Angel - Friday, January 18, 2013 - link
I wonder how you organize stuff right now? Even before I had more than one HDD I still had multiple partitions (one for system and one for media at the time), so that I could reinstall windows without having my media touched. And that media partition was segregated into photos, music, movies, documents etc. That is how I organize my files and know where what is located.I don't see any change to my behaviour with an SSD functioning as my system partition and the HDDs functioning as media partitions.
Do people just put everything on the desktop? How do you find anything? I just don't understand this at all. Reply
KitsuneKnight - Friday, January 18, 2013 - link
Do you not have any type of file that's both large, numerous, and demands high performance?I regularly work with Virtual Machines, with each of them usually being around 10 Gb (some being as small as 2, with the largest closer to 60). I have far too many to fit on my machine's SSD, but they're also /far/ faster when run from it.
So what do I have to do? I have to break my nice, clean hierarchy. I have a folder both on my SSD and on my eSATA RAID for them. The ones I'm actively working with the most I keep on the SSD, and the ones I'm not actively using on the HDD. Which means I also have to regularly move the VMs between the disks. This is /far/ from an ideal situation. It means I never know /exactly/ where any given VM is at any given moment.
On the other hand, it sounds like a Fusion Drive set up could handle the situation far better. If I hadn't worked with a VM in a while, there would be an initial slowdown, but eventually the most used parts would be promoted to the SSD (how fast depend on implementation details), resulting in very fast access. Also, since it isn't on a per-file level, the parts of the VM's drive that are rarely/never accessed won't be wasting space on the SSD... potentially allowing me to store more VMs on the SSD at any given moment, resulting in better performance.
So I have potentially better performance over all (either way, I doubt it's too far from a manual set up), zero maintenance overhead of shuffling files around, and not having to destroy my clean hierarchy (symlinks would mean more work for me and potentially more confusion).
VMs aren't the only thing I've done this way. Some apps I virtually never use I've moved over (breaking that hierarchy). I might have to start doing this with more things in the future.
Let me ask you this: Why do you think you'd do a better job managing the data than a computer? It should have no trouble figuring out what files are rarely accessed, and what are constantly accessed... and can move them around easier than you (do you plan on symlinking individual files? what about chunks of files?). Reply
Death666Angel - Friday, January 18, 2013 - link
Since I don't use my computer for any work, I don't have large files I need frequent access to.How many of those VMs do you have? How big is your current SSD?
Adding the ability for FD adds 250 to 400USD which is enough for another 250 to 500GB SSD, would that be enough for all your data?
If you are doing serious work on the PC, I don't understand why you can't justify buying a bigger SSD. It's a business expense, so it's not as expensive as it is for consumers and the time you save will mean a better productivity.
The negatives of this setup in my opinion:
I don't know which physical location my files have, so I cannot easily upgrade one of the drives. I also don't know what happens if one of the drives fail, do I need to replace both and lose all the data? It introduces more complexity to the system which is never good.
Performance may be up for some situations, but it will obviously never rival real SSD speeds. And as Anand showed in this little test, some precious SSD space was wasted on video files. There will be inefficiencies. Though they might get better over time. But then again, so will SSD pricing.
As for your last point: Many OSes still don't use their RAM very well, so I'm not so sure I want to trust them with my SSD space. I do envision a future where there will be 32 to 256GB of high speed NAND on mainboards which will be addressed in a similar fashion to RAM and then people add SSDs/HDDs on top of that. Reply