The MacBook’s SSD: NVMe & an Apple Developed SSD Controller?

To be honest, prior to receiving the MacBook I wasn’t expecting anything particularly interesting for the laptop’s SSD. While we haven’t seen both sides of the MacBook’s logic board, and as a result can’t say with certainty how it’s laid out, from the side we have seen it's clear that we’re also looking at a soldered SSD. Which makes a lot of sense, as Apple choosing to save every last millimeter means a M.2 SSD would be out of the question, and meanwhile Apple has plenty of SSD suppliers to choose from, even for soldered designs. Consequently what I was expecting was a Samsung or Toshiba PCIe SSD soldered on to the logic board, similar to the SSD selection of Apple’s other devices.

So imagine my surprise when I opened up the System Profiler to see under the hood, and found not one but two unexpected things. First and foremost, a new section was available under the Hardware tree called NVMExpress. Second of all the device listed under NVMExpress has a model number prefix we’ve never seen before; not Samsung or Toshiba, but rather an Apple-ish “AP”. Clearly the MacBook’s SSD was going to be a much bigger deal than I first thought.

We’ll start with the NVMExpress heading. Short for Non-Volatile Memory Express, NVMe is a new software interface/protocol designed specifically for PCIe SSDs, and designed to complete what has been a two-part transition from SATA SSDs to PCIe SSDs.  NVMe replaces AHCI (Advanced Host Controller Interface), which dates back to 2004 and was designed with hard drives in mind. While that doesn't prevent its use on SSDs, AHCI is more optimized for high latency rotating media than low latency non-volatile storage. As a result AHCI can't take full advantage of SSDs, particularly PCIe SSDs with their high bandwidth links, leading the storage industry to develop a software interface that abolishes the limits of AHCI.

NVMe in turn is built specifically for SSDs and PCIe, and as software interfaces usually live for at least a decade before being replaced, NVMe was designed to be capable of meeting the industry needs as we move to future memory technologies (i.e. we'll likely see RRAM and MRAM enter the storage market before 2020).

  NVMe AHCI
Latency 2.8 µs 6.0 µs
Maximum Queue Depth Up to 64K queues with
64K commands each
Up to 1 queue with
32 commands each
Multicore Support Yes Limited
4KB Efficiency One 64B fetch Two serialized host
DRAM fetches required

The biggest advantage of NVMe is its lower latency. This is mostly due to a streamlined storage stack and the fact that NVMe requires no register reads to issue a command. AHCI requires four uncachable register reads per command, which results in ~2.5µs of additional latency. Another important improvement is support for multiple queues and higher queue depths. Multiple queues ensure that the CPU can be used to its full potential and that the IOPS is not bottlenecked by single core limitation.

Ultimately NVMe was designed first and foremost for the enterprise market, but client workloads benefit as well, though not by quite as much. For client workloads NVMe still brings with it a reduction in latency, and as our own Kristian Vatto has been keen to point out, even moderate improvements in performance result in increased battery life and that's what NVMe will offer. Thanks to lower latency the disk usage time will decrease, which results in more time spend at idle and thus increased battery life. There can also be corner cases when the better queue support helps with performance.

It’s just in the last year that we’ve seen NVMe deployed into PCIe SSDs, and those of course have been initially released on to enterprise SSDs. Meanwhile in the consumer space, due to boot issues with NVMe – you need a motherboard as well as OS that can handle booting from NVMe – SSDs are still almost entirely AHCI.

Which is what makes Apple’s situation so interesting. With such extensive control over their hardware and software alike, Apple has gone ahead and started shipping NVMe drives, beginning with the MacBook. For the MacBook in particular it’s a soldered SSD so Apple doesn’t need to worry about replacement parts or end-user modifications, so this if anything is the safest way to roll out NVMe.

Ultimately compared to going with PCIe SSDs a couple of years ago, the move to NVMe isn’t quite the same great step. But it’s none the less an important step for Apple as it indicates they’re ready to start shipping NVMe devices, and consequently reaping the performance and battery life benefits.

Shifting gears, let’s talk about the SSD controller. Along with supporting NVMe, Apple’s SSD also supports a fairly wide PCIe x4 connection. Somewhat surprising it’s only clocked at 5 GT/sec (PCIe 2.0 speeds), but it’s unclear at this time whether that’s a controller limitation or an intentional design decision by Apple (update: It's a Core M limitation). Even at 5 GT/sec, an x4 link means there’s 2GB/sec of bandwidth in each direction, which is far higher than how quickly the SSD can read or write.

But the big mystery right now is who made the SSD controller in the MacBook. As we’re not allowed to disassemble our review samples (as badly as we’d like to in this case), we’ll have to wait on the crew at iFixit to get around to tearing down the new MacBook, and in the meantime we’ll have to work off of what information we can gather through software.

In short, while Apple goes through a fair bit of effort to hide the manufacturer of their SSD – Apple SSDs are routinely labeled as “Apple SSD Controller” and “APPLE SSD” – they have never before completely hidden the manufacturer. In the 2013 MacBook Air 13” for example the drive model was “SM0256F”, indicating that it was a Samsung SSD. However for the MacBook there are no identifying labels to be found. The model is “AP0256H”, nor do the revision or serial numbers point a finger at any particular OEM.

At this point I’m not ready to rule out this being a better hidden OEM SSD, but the number of OEMs with NVMe capable client controllers is a very small list, so there aren’t too many options here. Of note, both Marvell and Samsung have NVMe capable client controllers, so this may yet be one of theirs’.

But for the moment at least I suspect we’re looking at an Apple semi or fully custom SSD controller. Why Apple would want to go this route is still something of a mystery to me, as they don’t necessarily have much to gain other than the obvious change of bringing control in-house, but here we are. Apple does have plenty of internal resources to develop SSDs, including the assets they gained in their 2011 acquisition of Anobit, so from a technical perspective Apple developing an SSD is not too hard to believe.

Though regardless of who’s behind it, the end result is a very fast, very capable controller that’s being used to drive the 256GB and 512GB SSDs available to the MacBook.

Update: 04/15/2015: iFixit has completed their MacBook teardown and posted the photos, including photos of the logic board from both sides:


Image Courtesy iFixit

Based on iFixit's teardown, we can see their sample is equipped with Toshiba MLC NAND, 128GB per side, 1 package per side. However of greater interest is the chip bordered in orange, which based on the fact that it has multiple markings we believe to be the SSD controller, assembled in a Package-On-Package (PoP) fashion. The number we can decode is a part number for a 512MB Hynix LPDDR3 memory module; the other number we cannot decode at this time. Multiple markings in this fashion is a tell-tale sign of a PoP chip, and having the SSD controller and its DRAM on-package with each other and located right next to the NAND chips makes a ton of sense, especially in such a cramped design. That said, it means we aren't going to get to see the SSD today; but it also confirms that this is not an off-the-shelf SSD controller since someone had to go through the extra step of PoPing it. The big question remains whether Apple has simply packaged up one of their regular suppliers' controllers, or if this is some kind of semi/fully-custom Apple controller.

Diving into our benchmarks, we’re going to have to take a slightly higher level look at the SSD than usual, at least for now. Being fully soldered on to a Mac limits our flexibility to more deeply test it unformatted (and not as a boot drive), and furthermore Futuremark’s PCMark 8 Storage benchmark refuses to behave. So for the moment we have our sequential and random benchmarks from iometer, which can give us a good idea of what sustained read and write performance looks like.

128KB Sequential Read (QD1)

128KB Sequential Write (QD1)

128KB sequential performance starts off very strong. The MacBook’s SSD is able to easily surpass any of our other Macs’ sequential read performance, delivering 665MB/sec under iometer. Meanwhile sequential write performance doesn’t quite top a 128GB SSD from a 2012 MBA 13, but otherwise it’s ahead of our other MBAs and rMBPs at 459MB/sec.

It’s actually a bit surprising that the SSD does this well here. Even with PCIe and NVMe, we’re looking at a highly integrated soldered solution, and I expect Apple has kept the number of NAND channels down in order to try to further conserve space. So to top our Mac charts in this fashion is unexpected and a bit impressive.

4KB Random Read (QD3)

4KB Random Write (8GB LBA, QD3)

Shifting over to random performance, read performance once again looks excellent. Even reading 4KB at a time the drive sustains 75.9MB/sec, again easily surpassing any other drive. The one downside here is random write performance, which tops out at 73.4MB/sec, some distance away from our rMBP. I’d be curious to see how well the 512GB drive performs in comparison, but I have to imagine Apple has already filled out their NAND channels at 256GB.

In any case, we’ll be following this up with a deeper look at the MacBook’s SSD. Hopefully we’ll be able to find out more about the SSD controller’s manufacturer after a tear-down, and with a bit more work we can also run it through our other storage benchmark scenarios, looking at things such as performance consistency. So stay tuned.

The MacBook’s Retina Display: Pro Quality OS X Performance
Comments Locked

354 Comments

View All Comments

  • RT81 - Wednesday, April 15, 2015 - link

    The presence of "no touch screen" complaints, as few as they are, is interesting. There's a whole demographic of Mac users (creative professionals, mostly) that are sweating bullets about the possibility of iOS and OS X converging. A touch screen Mac would probably give them a heart attack.

    Apple has said they don't have any intention of doing that. It didn't go over so well for Microsoft, but who knows. It wouldn't be the first time Apple has said "we'll never do that" but what they really mean is "we'll never do that until we can do it at the standard of quality we want".
  • senzen - Wednesday, April 15, 2015 - link

    Very good, thorough review. As soon as I sold my 2010 MBA 11 to get an MBPr Pro I missed the smaller size and weight, but I wanted a retina display for when I travel and take photos, so the new Macbook ticks all the boxes. My doubt was the performance, but seeing it apparently does at least as well as the first i5 MBAs is reassuring, I don't need more. I'm still tempted to wait for the second generation, which is reinforced by Apple's inability to actually show these in stores. I wonder if the upgrade to the faster (less slow) processor is worth it.
  • Malac - Wednesday, April 15, 2015 - link

    I think two tests that I feel would be very interesting are missing:

    - Remote Desktop streaming
    - Virtual Machine Benchmark

    I sometimes play PC games streamed from my powerful desktop to my MacBook Air using Microsoft Remote Desktop or Steam. While this works well, the air does get hot sometimes and I hear the fans. How would the MacBook handle such a load?

    And how well does a VM work? Lets say VirtualBox + Linux with a graphical frontend?
  • Ryan Smith - Wednesday, April 15, 2015 - link

    Steam in-home streaming uses H.264, so all the heavy lifting should be done by the video decode block, and the end result not much harder than decoding any other 1080p60 H.264 stream.
  • jeffry - Wednesday, April 15, 2015 - link

    Nice. Apples "new" butterfly mech. Thats a copy of how the japs have done it years ago in their Sony Vaio SZ Series notebooks...
  • nerd1 - Wednesday, April 15, 2015 - link

    Why mention tablet laptop crossover at all? This laptop is not convertible, not derachable, lacks touchscreen or pen. It is by all means just a thin, lightweight laptop (with LESS endurance and power)
  • Ryan Smith - Wednesday, April 15, 2015 - link

    The short answer is because internally it's built like a tablet, not a laptop, and that's the primary point I'm trying to make when discussing its construction.
  • nerd1 - Thursday, April 16, 2015 - link

    Built like a tablet? What does it mean at all? How does crippled laptop becomes a tablet?
    Some tablets are more powerful and expandable than MBA 11" (which is a LAPTOP).
  • nerd1 - Wednesday, April 15, 2015 - link

    Oh and samsung released very similiar laptop (core m, 1600p display, 2lbs) with usb, sd slot and separate power jack months before.
  • solipsism - Wednesday, April 15, 2015 - link

    1) I think it's both odd and wrong that Ryan Smith would repeatedly try to state this is some sort of Mac-iPad hybrid. It doesn't run iOS, it has an attached keyboard and trackpad, it doesn't even have a touchscreen display (something increasingly more common on notebooks). This is a notebook computer designed to run a desktop-grade OS.

    2) This is not a netbook. Even if we ignore all the low-quality, budget-focused design constraints that that made the netbook really only good* for surfing the "net", this machine has a CPU that costs more than the average notebook and that is magnitudes more powerful with a similar power envelope. If it's to be classed at anything it is an Ultrabook, sans the official branding.

    3) Apple's USB-C adapters aren't that pricey. If one wants, they can buy the adapters that Google sells for their new Chromebook Pixel or wait for other vendors (my favourite is Monoprice) to offer up their own solutions since this is, after all, USB. There will also likely be 3rd-party external displays from everyone(?) that will use a single USB-C port for both charging the device and pushing data, which will have their own variety of built-in hubs for those wanting an external display which makes the majority of these complaints for a nascent standard just coming to market moot.

    4) People are lamenting the loss of MagSafe, but is that really feasible with how small the 3rd(?) MagSafe adapter would have gotten for this machine? Also, if it's designed to be used remotely and designed to be almost always used without cabled peripherals, is it really an issue for its intended market? Personally, I love how the Chromebook Pixel has USB-C on each side and how either can charge the device. I've moved an entire office around because of how the plug on the left-hand side was causing it to wear out after about 6 months due to being plugged into the wall at the right. This was never an issue when PVC was still included in cables (speculative cause and effect). Hopefully when the MBPs get this feature it will be on both sides.

    5) So why bring back the MB and not simply call it the MBA (not unlike how they keep the non-Retina MBPs and came out with the new Retina MBPs with a new design)? Eventually I would like to see the MBA get the exact same external HW design and components (i.e.: Retina display with the same 12" design only) but running Mac OS X — or a Mac OS X-like OS — on Apple's A-series chip. This could allow Apple to move their "PC" sales to even lower end of the market by being able to drop the cost by a few hundred dollars whilst still being able to have a machine that performs well. I do think the A-series chip may need some additional revisions (but we really don't know what is possible with their bespoke design) and for Mac OS X to get another housecleaning, perhaps even rewritten in Swift.

    * Calling a netbook good at anything is a stretch, especially when even Adobe Flash would stutter on even 480p video due to its inept HW.

Log in

Don't have an account? Sign up now