There should be a link between iPhone H/W architecture and the incredible success of the product? Let’s assume and claim that this architecture, based on the internally developed ARM based A9 application processor, is simply the best on the market today…
Apple has implemented SSD in MacBook based on NVM Express (NVMe) protocol. It appears that Apple has adapted the NVMe controller developed for the MacBook to iPhone architecture (the red arrow on the picture below) and we will see that using SSD NVMe (instead of UFS) provide strong differentiation. I have found very exciting information from AnandTech, especially about the way Apple has implemented SSD control.
We need to take a look at above picture, presented by Sandisk during the last Flash Memory summit. Apple is present in three segments: High-End PC (MacBook), Productivity Tablets (iPad) and Flagship Smart Phone (iPhone 6). In the last segment, storage was based on eMMC until recently and now most of the OEM is implementing MIPI Universal Flash Storage (UFS) specification. Except Apple…
Let’s take a look at benchmark results: the two graphics at the top are for SSD sequential Read and Write, the other two are for random Read and Write.
Before explaining why sequential accesses are almost 2X more efficient than for the competition, let’s see the impact of such performance. Sequential read/write is what’s happen when you download/upload a very large file, like for example a movie, the faster, the better it is for user experience!
Another benefit is not as obvious. Improvement in performance also results in increased battery life: once the task is completed, the device can go back to idle state faster, positively impacting the power consumption.
Now we will have to understand why using NVM Express (based on PCI Express protocol) provides better user experience than UFS, based on Advanced Host Controller Interface (AHCI) which has been defined to support SATA. Once again a slide extracted from Sandisk presentation will help. According with Sandisk, NVMe has superior S/W stack than UFS, as you can see below. Other facts are supporting Sandisk position: the biggest advantage of NVMe is its lower latency (2.8 us compared with 6 us for AHCI based protocol). 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.
At this point, we must clarify two points. First, Sandisk is clearly pushing NVMe adoption in flagship smartphone application and not MIPI UFS. The second point is that NVMe usage in smartphone is (most probably) still based on one MIPI specification, as the physical level MIPI M-PHY is selected and not PCIe PHY. It could be synthesized by:
Using NVM Express protocol in smartphone application allows benefiting from the many advantages offered by MIPI M-PHY like reduced EMI or lower power consumption compared with other high speed PHY (USB 3.x or PCIe 2.0). One real advantage being that the SoC integrator has to buy (or develop), integrate and maintain a single PHY IP (the MIPI M-PHY) instead of several complexes PHY IP.
This decision from Apple to integrate NVMe instead of UFS in the iPhone 6s and 6s Plus, leading to better performances in term of Flash memory access and better user experience, is very important as it indicates that PCI Express has been adopted in this key industry sector. In fact, PCIe is used for a while in smartphone, to support the interface between the WiFi device and the AP. It was the reason why the MIPI Alliance and the PCI-SIG have jointly defined Mobile Express (or M-PCIe).
PCI Express has been initially defined (in 2004) to support the interface between the CPU and the GPU in the PC. Seeing PCIe protocol pervasion in mobile phone is a strong indication of technology merge between applications as different as PC and smartphone. Which work in one direction could also work in the reverse direction, ARM CPU, present in almost every smartphones, could start pervasion of the PC application…
Article from AnandTech can be found here
Sandisk presentation here