NVMe vs. UFS 3.1: The Battle of Smartphone Memory Types. Parsing

Are iPhones fast? Yes! But why?



Apple doesn't tell us much about the insides of its devices. As if hiding from us a terrible secret!



For example, did you know that the iPhone and Android use a completely different type of flash memory? NVMe on iPhone and UFS on Android.





Maybe this is the secret of the speed of Apple devices? Today we will figure out how flash memory works. Find out how memory standards differ? And most importantly - let's compare who is faster than Android or iPhone! You will not find such information anywhere else. So read on and watch to the end!



Flash memory



Let's start with the fact that on flash drives, memory cards, smartphones and SSD disks, they use the same type of memory everywhere - flash memory. This is a modern technology that has replaced magnetic storage media, that is, hard drives.



Flash has many advantages. It's energy efficient, cheap, durable and insanely compact. A coin-sized chip fits up to a terabyte of data!







The size of the Toshiba chip in the photo is 16x20 mm.



But how do you manage to store such huge amounts of information with such tiny sizes?

How does flash memory work?



Let's take a look at how flash memory works.



The basic unit of modern flash memory is a CTF cell. It stands for Charge Trap Flash memory cell, that is, Memory with a Charge Trap. And this is not some kind of figurative trap, but a real one.







This cell is capable of locking electrons inside itself and storing them for years! Like a trap from the movie "Ghostbusters". So even if your SSD is not connected to anything and is just lying in your nightstand, know that it is full of energy.



The presence or absence of charge in the cell is interpreted by the computer as zeros and ones. In general, like everything in the world of technology.







There are many such cells and they are one above the other. Therefore, this arrangement of cells is called Vertical NAND or VNAND. It is extremely efficient and very interestingly organized.







Multi-storey memory



A little analogy. Imagine that memory is a huge multi-storey residential complex in which each apartment is a memory cell.



So, in one house of this residential complex there are always 6 entrances, 32 apartments are located on each floor of one entrance, i.e. memory cells. And there can be as many as 136 floors in such a house, but only if this is the most modern house. Such a house with six entrances is called a memory block.







Why am I all this? NAND memory is organized in such a way that it cannot simply read and write data to a specific cell, well, or an apartment. She immediately reads or overwrites the entire entrance!



And if you need to delete something, then the whole house is erased at once, that is, a block of memory. Even if you just decided to throw out the carpet in the same apartment, it doesn't matter. The whole house is to be demolished!



Therefore, before deleting anything, you must first copy all the information to the adjacent block.



And if there is little memory left on the disk, less than 30% of the total, then the speed of such a disk slows down a lot. Simply because you have to look for free block copy space.



So, make sure your phone or SSD storage is no more than 70% full! Otherwise, everything will be dull.



By the way, for the same reason, erasing information consumes much more energy than reading and writing. Therefore, if you want to save battery, delete files less!



Let me remind you that hard drives, which are HDDs, are a different problem. There information is read out one cell at a time. The hard disk rotates and the read head travels back and forth across the entire surface of the disk. And if the files are split into fragments stored at different ends of the disk, the speed drops. Therefore, defragmentation is useful for HDD.



What is a specification?



But back to flash memory. Naturally, a chip with a memory in itself is useless because this entire complex structure needs to be managed somehow. Therefore, there are whole technology stacks that rule everything. These are called standards or specifications.



One more time!



There is a chip with flash memory, usually NAND memory. The data is stored there.



And then there is a specification - a whole set of technologies around the chip, software and hardware, that provide interaction with memory. The smarter the spec, the faster the memory works.



So what are the specifications used in our smartphones and which one is the smartest? Let's figure it out.



eMMC



The release of the first iPhone in 2007 prompted the phasing out of memory cards. There is a need for a new standard for low-cost flash memory for mobile devices. This is how eMMC appeared, which stands for Embedded Multimedia Card or Embedded Multimedia Card. That is, just like eSIM (Embedded SIM).



The eMMC standard was gradually updated and its speed increased. And eMMC is still used in most smartphones, but this standard is clearly not a record holder in speed and loses much to the same SSD drives.













UFS



Then in 2014 a new standard appeared with the immodest name Universal Flash Storage or UFS! The new standard was in every way better than eMMC.







First, UFS has a serial interface. This means that you can simultaneously write and read. eMMC could only do one thing. Therefore, UFS is faster!







Second, it is twice as energy efficient when idle.



Works better with the swap file when the RAM is full. And yet, there are UFS memory cards that can be seamlessly integrated into internal storage! This is a full-fledged modular memory!



By the way, for this reason, it is more correct to call the internal memory of the phone eUFS. Embedded, you remember.







UFS was released immediately in version 2.0 in 2015, and the first phone with this standard was the Samsung Galaxy S6. Samsung was so proud of the memory speed that it even ditched the microSD slot from the Galaxy S6. It would seem that the fate of flash memory standards is a foregone conclusion - here he is the new king. The world's new USB flash drive.



But suddenly the iPhone 6s comes out and we see it!











What? How is this possible? What's the miracle of memory in these iPhones? It looks like Apple went their own way. If the eMMC and UFS standards are the heirs of some kind of children's memory cards, then the memory in the iPhone is the direct heir of adult SSD drives. Because the iPhone uses the NVMe memory specification. The same memory is used in computers and laptops.



NVMe



The name NVMe is quite difficult to decipher - NVM Express (NVMe, NVMHCI - from the English Non-Volatile Memory Host Controller Interface Specification).



But the keyword in the title is Express! Why?



The NVMe specification was specifically designed for PCI Express NAND SSDs.



NVMe was built from the ground up as a new way to work efficiently with SSDs. They removed everything unnecessary from it and focused on speed.



Therefore, due to its short technology stack, NVMe has a big advantage over the rest of the standards for random writing and reading blocks.







What does it mean?



This property is especially useful for an operating system that constantly reads and generates a bunch of small 4KB files. NVMe random read and write is what makes the iPhone so fast.



But, naturally, Apple couldn't just stuff an entire SSD into a smartphone. They modified the NVMe protocol and developed their own custom PCI-E controller.



Therefore, what is in the iPhone is an absolutely unique solution and at one time it was revolutionary. And they didn't even say anything about it! As Apple always does.



It's the same story with the MacBook. Apple was the first to ditch the HDD. And they always put the fastest memory in the laptops. This is largely why, even on weaker hardware, Macs feel faster than Windows laptops.



Tests



But back to smartphones. We found out that Android uses UFS memory and iPhones use NVMe. But the problem is that it's hard to tell which memory is actually faster.



Let's just say it's a cool comparison from Micron. Based on a custom Android device, they compared NVMe and UFS 2.1 and got the advantage of NVMe in all respects! Like these ones:



  • Sequential write> 28%
  • Sequential Read> 15% faster on sequential read.
  • IOPS (random write and read)> 30%














CPDT Benchmark



But who cares? Now there are many places where there is UFS 3.0, and in the Redmi K30 Pro there is generally UFS 3.1.



Just look UFS 3.1 is faster than UFS 2.0 in various indicators up to 8 times. Here's what to compare with!



UFS 2.0 vs UFS 3.1



  • Sequential Read - 6X
  • Sequential Write - 8X
  • Random Read - 5.3X
  • Random Write - 5X






So you just need to download the same test for iPhone and Android, and you're done! We will find out who the champion is. Just know what? There is no such test! Believe us, we were looking for. There are controversial tests with an incomprehensible methodology (PerfomanceTest), but nothing decent.



Except ... This wonderful test: Cross Platform Disk Test . Works on all platforms, testing methodology is described in detail. And there are even test results for some iPhones:







But bad luck, the iOS version of the app was never released.



But we did not despair! As it turned out, the developer's name is Maxim, he is from Minsk. Therefore, we contacted him and Max kindly provided us with a developer version of the application for iOS.



Therefore, today we will probably find out where the memory is faster: On the latest iPhones or on the coolest Android smartphones:



  • iPhone 11 Pro - NVMe
  • Oneplus 8 Pro - UFS 3.0
  • Redmi K 30 Pro - UFS 3.1
  • and Macbook Pro 16 - NVMe






As a result, friendship wins, in a sequential recording, everything seems to be very good at Apple, but in an arbitrary one they completely merge into Android smartphones. In copying - literal equality of results. Note that the Poco F2 Pro with UFS 3.1 showed itself in the tests in any way and lost to both the Sony Xperia 1 II and OnePlus 8 Pro. Perhaps it solves not only this! But in comparison with the "adult" NVMe in laptops, mobile NVMe is 3-4 times slower and this is certainly not encouraging. On the other hand, this means that smartphones have room to grow!







Once again, we want to thank Maxim for his help and instructions! Remember, the test is not easy, so if you crash, don't swear!



All Articles