Adam Leventhal's blog

Close this search box.

Another reason Apple misses ZFS

May 20, 2011

Apple recently announced a new iMac model — in itself, only as notable as the seasons — but with an interesting option: users can choose to have both an HDD and an SSD. Their use of these two is absolutely pedestrian, as noted on the Apple store:

If you configure your iMac with both the solid-state drive and a Serial ATA hard drive, it will come preformatted with Mac OS X and all your applications on the solid-state drive. Then you can use the hard drive for videos, photos, and other files.

Fantastic. This is hierarchical storage management (HSM) as it was conceived by Alan Turing himself as he toiled against the German war machine (if I remember my history correctly). The onus of choosing the right medium for given data is completely on the user. I guess the user who forks over $500 for this fancy storage probably is savvy enough to copy files to and fro, but aren’t computers pretty good at automating stuff like that?

Back at Sun, we built the ZFS Hybrid Storage Pool (HSP), a system that combines disk, DRAM, and, yes, flash. A significant part of this is the L2ARC implemented by Brendan Gregg that uses SSDs as a cache for often-used data. Hey Apple, does this sound useful?

Curiously, the new iMacs contain the Intel Z68 chipset which provides support for SSD caching. Similar to what ZFS does in software, the Intel chipset stores a subset of the data from the HDD on the SSD. By the time the hardware sees the data, it’s stripped of all semantic meaning — it’s just offsets and sizes. In ZFS, however, the L2ARC knows more about the data so can do a better job about retaining data that’s relevant. But iMac users suffer a more fundamental problem: the SSD caching feature of the Z68 doesn’t appear to be used.

It’s a shame that Apple abandoned the port of ZFS they had completed ostensibly due to “licensing issues” (DTrace in Mac OS X uses the same license — perhaps a subject for another blog post). Fortunately, Ten’s Complement has picked up the reins. Apple systems with HDDs and SSDs could be the ideal use case ZFS in the consumer environment.

5 Responses

  1. It is indeed a crying shame–a crime even–that Apple decided to ditch ZFS. Their reasons were no doubt idiotic (and I’m typing this on my iMac, which I quite like).

  2. I hope the reasons come to light at some point, but in both Apple and Oracle there’s a real culture of secrecy…

  3. I agree dropping ZFS was a crying shame, but to be fair to Apple, no one sued Sun for DTrace, but NetApp did for ZFS. Thus Apple had some grounds to worry about indemnification, and they probably don’t have as extensive a patent portfolio as Sun in server-side technology to be able to countersue NetApp.

  4. Just to name one more player in this space, DragonflyBSD has a swapcache. From the man page:
    “swapcache is a system capability which allows a solid state disk (SSD) in a swap space configuration to be used to cache clean filesystem data and meta-data in addition to its normal function of backing anonymous memory.”

Recent Posts

February 12, 2017
December 18, 2016
August 9, 2016
August 2, 2016