If you have been reading my blog for a while now, you’ll notice that I have blogged at length about flash storage and the different types used on smartphones. One storage I have avoided is NVMe. So in today’s article, let’s look at what is NVMe storage and why Apple uses it?



What is NVMe storage?

NVMe or Non-Volatile Memory Express is a high speed connection interface used for SSDs and other forms of flash storage. In simpler terms, it is a way that SoCs and CPUs can access and modify data on a flash or SSD storage. One could also say that an NVMe storage is a flash/SSD storage that houses an NVMe controller.

NVMe exists as a type of controller chip that handles all CPU data requests and fetches the requested data. It also handles all write requests as well.

In general PC use, NVMe is usually tied to PCI express because that is what it was built for. NVMe serves as the logical interface handling data transfer protocols between storage and CPU while PCIe is the physical interface where the storage connects to the motherboard.

  • NVMe – protocol
  • PCIe – physical interface

Who owns the NVMe storage?

NVMe was begun by core group of companies that needed a faster type of storage standard.

Today, the initial working group has evolved to become NVM Express, Inc. More than 65 companies belong to this group, which owns the NVMe standard and promotes its use. Its board of directors includes representatives from Cisco, Dell, EMC, HGST, Intel, Micron, Microsoft, NetApp, Oracle, PMC, Samsung, SanDisk and Seagate. (source)

NVMe versions

There have been several versions of NVMe since the first version (1.0e) was released in 2013. These include:

1.0

  • NVMe 1.0e, 1.1b (2013 – 2014)
  • NVMe 1.2, 1.2a, 1.2b, 1.2.1 (2014 – 2016)
  • NVMe 1.3, 1.3a, 1.3b, 1.3c, 1.3d (2017 – 2019)
  • NVMe 1.4, 1.4a, 1.4b

2.0

  • NVMe 2.0, 2.0a, 2.0b

NVMe over PCIe protocols for PC currently has some of the fastest read and write speeds for data. NVMe can theoretically reach speeds of 32Gbps or even faster. This is way faster than SATA and other PC SSD drives.

Apple’s iPhones and NVMe

The only known smartphone OS that supports NVMe is iOS (and iPad OS). Back in the late 2000s, smartphone devices were slow due to most silicon being in their infancy, but Apple wanted more.

In 2008, a Texas based semi-conductor company called Intrinsity proved that they could speed up ARM CPUs whilst reducing power consumption. They did this with the ARM A8 which they modified and renamed Hummingbird. In 2010, the company ran into financial trouble and Apple quickly snagged them up for a price rumoured to be between $50 to $121 million USD. This was in addition to the earlier acquisition of PA Semiconductor in 2008.

Seeing as it is that storage is important to snappy performance, Apple would in 2011 go on to acquire an Israeli company known as Anobit for $500 million USD. Anobit is a company that makes memory controllers for flash storage and drives.

With these companies under their belt, Apple went on to design their own inhouse ARM based SoCs. These SoCs were more powerful, but consumed less power, especially when compared to other ARM based SoCs. Apple was way ahead of everyone else when it released the first 64-bit smartphone SoC on the iPhone 5S (Apple A7).

As if that was not enough, Apple also made a custom proprietary low powered NVMe controller for their iPhones and iPads.

All of these came together in the iPhone 6S which had a 64-bit Apple A9 with an NVMe storage over an M-PHY interface. The speed boost from the NVMe storage left the competition in the dust.

In NVMe storage is so great, why have Android OEMs refused to use it?

Well, they didn’t exactly refuse to use it per sé. Apple have made it very clear with patents and an army of lawyers that they would fight anyone who comes near this technology.

Secondly, Android OEMs do not have the time or the resources to invest into research and development for NVMe controllers.

With that being said, Apple’s mobile NVMe storage is low powered and is not as fast as the PC version. Apple have aso been very tight lipped about the speeds of their NVMe storage and have refused to release any sort of data to the public.

Also, with the recent improvements of UFS storage, especially UFS 3.0, Android smartphones are starting to catch up to Apple. Not just in storage speeds, but also in SoC performance as well.

Whilst Apple’s NVMe is leading the pack and UFS is catching up, eMMC for all intents and purposes has been left for dead.


Please leave a comment if you have any difficulty and remember to: