It wasn't discussed in the WWDC keynote. But Apple's has been developing a new file system for all its devices called Apple File System. It's been a hot topic of discussion over the last week. Here are some of the notable things we've learned since the first day of WWDC along with some context.
This is exciting news. To hear that Apple has finally decided to do something about its obsolete file system, HFS+, warms the heart. It lifted the spirits of all those who were grumbling about the technical inadequacies of HFS+, the absence of security and encryption as a first-class citizen, the coarsness of its time stamps, and the overly strained mechanism behind Time Machine, just to name a few things.
Before I go on, for an introduction to what a file system is and why Apple wanted to replace its aging HFS+, see: "Details Emerge on Apple’s New File System APFS - What Does it All Mean?"
Some Interesting Details
1. Inception. Likely the reason Apple didn't go with the name AFS is because that's been in use for a long time by Andrew File System. We learned that Apple has been working on APFS since 2014, and that was well before Linus Torvalds made his very public, stinging remarks about HFS+. Apple engineers could only smile and get back to work.
2. Going it Alone. We've learned that Apple debated internally about adopting a currently available, modern file system like ZFS or rolling its own. It's typical for Apple to have this kind of debate internally. Ultimately, the decision was made to design a new file system that recognizes the scale of Apple's products, from Apple Watch to Mac Pro.
3. Time Table. It takes about four years to design, from scratch, and ship a new file system. At that point, the file system is reliable, but may still be tweaked. Given that Apple has been working on APFS for two years, the goal of having it ready in 2017 is very ambitious. But then, ambitious goals tend to get products out on time rather than suffering endless delays.
4. APFS Snapshots. A snapshot is just what it sounds like. The state of the file system can be periodically saved and reverted to that identical state at a later time. This, combined with the fact that APFS doesn't currently support the hard links that Time Machine uses suggests that a different mechanism will have to be invoked if Time Machine, or something akin to it, is to endure.
We have two notions that seem incompatible. It's one thing to go back in time and retrieve a single file that was deleted months ago. It's quite another to return the whole file system to a previous state. Just how we'll move forward on these two seemingly contradictory fronts isn't yet clear.
5. Checksums. Perhaps the biggest controversy about APFS I've seen is the business of checksums. Checksums are used to detect and correct errors (corruption, "bit rot") of data. Right now, APFS plans to checksum only its own data not the user data. The argument is that checksumming all the user data consumes added power and has A (small) space penalty. The discussion continues with Apple currently claiming that their standards for the hardware they ship is so high, it isn't a problem.
Also, because of the way APFS duplicates data, making copies of files won't stave off possible corruption. It remains to be seen. However, APFS has the facility to implement user data checksums at some future point if called for.
There is also a philosophical issue here. If the user backs up data by saving copies on the same drive, that really isn't a backup. Data that's important will get saved to two or more separate drives. And so, it may be that Apple's decision about checksums lies with how it devises a Time Machine replacement.
6. Effaceable Memory. The reason you can take an iPhone into an Apple store and recycle it with confidence has to do with special hardware: effaceable memory. That's a protected part of memory that holds the hardware encryption key. After you do a reset of the iPhone, that key is destroyed and all that remains is an unreadable, encrypted jumble in Flash storage. APFS will support this, and with that special hardware in future Macs, we can also sell our Macs with confidence knowing that all our private data is unrecoverable from SSD/Flash storage.
7. Performance. APFS has been optimized for overall performance especially with SSDs. The special characteristics of Flash data managers, called the Flash Translation Layer (FTL), are taken into account. Also, there is a focus on reducing I/O latency. Operations that are exposed to the user are given priority. Eventually, the spinning beachball may become as rare as a Corvette owner without a baseball cap.
APFS has a long and glorious future ahead of it. We'll be hearing much more about it over the coming years. At this point, information is just dribbling out, but what we know so far has been cause for much joy.
Now, if only Apple would ship a new Mac Pro to put APFS on next year.
If you are hungry for yet more technical details, I highly recommend this discussion by Adam Leventhal. "APFS in Detail: Overview." Michael Tsai has also collected some community comments in his blog.
Teaser image via Shutterstock