iPhone быстрые? Да! Но почему?

Apple мало что рассказывает нам про внутренности своих девайсов. Как будто скрывает от нас страшную тайну!

Например, знали ли вы что в iPhone и в Android используется совершенно разный тип флеш-памяти? NVMe в iPhone и UFS в Android.

Может в этом секрет скорости девайсов Apple? Сегодня разберемся в том, как устроена флеш-память. Узнаем, чем отличаются стандарты памяти? И главное — сравним, кто всё-таки быстрее Android или iPhone! Такой информации больше нигде не найдете. Так что, читайте и смотрите до конца!

Флеш-память

Начнём с того что на флешках, картах памяти, в смартфонах и SSD-дисках — везде используют один тот же тип памяти — флеш-память. Это современная технология, пришедшая на смену магнитным носителям информации, то есть жестким дискам.

У флеш-памяти куча преимуществ. Она энергоэффективная, дешевая, прочная и безумно компактная. На чипе размером с монетку помещается до терабайта данных!

Размер чипа Toshiba на фото 16×20 мм

Но как удаётся хранить такие огромные объемы информации при таких крошечных размерах?

Как работает флеш-память?

Давайте разберемся как устроена флеш-память.

Базовая единица современной флэш-памяти — это CTF-ячейка. Расшифровывается как Charge Trap Flash memory cell , то есть Память с Ловушкой Заряда. И это не какая-то образная ловушка а самая настоящая.

Эта ячейка способна запирать электроны внутри себя и хранить их годами! Примерно как ловушка из фильма «Охотники за привидениями». Так что даже если ваш SSD-диск ни к чему не подключен и просто так лежит в тумбочке, знайте — он полон энергии.

Наличие или отсутствие заряда в ячейке компьютер интерпретирует как нули и единицы. В общем-то как и всё в мире технологий.

Таких ячеек много и они стоят друг над другом. Поэтому такая компоновка ячеек называется Vertical NAND или VNAND. Она крайне эффективна и очень интересно организована.

Многоэтажная память

Небольшая аналогия. Представьте, что память — это огромный многоэтажный жилой комплекс, в котором каждая квартира — это ячейка памяти.

Так вот, в одном доме этого ЖК всегда 6 подъездов, на каждом этаже одного подъезда размещается 32 квартиры, т.е. ячейки памяти. А этажей в таком доме может быть аж 136 штук, но только если это самый современный дом. Такой дом с шестью подъездами называется блоком памяти.

К чему я это всё? NAND память организована так, что она не может просто считать и записывать данные в какую-то конкретную ячейку, ну или квартиру. Она сразу считывает или перезаписывает весь подъезд!

А если нужно что-то удалить, то стирается сразу целый дом, то есть блок памяти. Даже если вы просто решили выкинуть ковер в одной квартире — не важно. Весь дом под снос!

Поэтому прежде чем удалить что-либо приходится сначала скопировать всю информацию в соседний блок.

А если памяти на диске осталось мало, меньше 30% от общего объема, то скорость работы такого диска сильно замедляется. Просто потому, что приходится искать свободный блок- место для копирования.

Так что следите за тем, чтобы память на телефоне или SSD-диске были заполнены не более чем на 70%! Иначе всё будет тупить.

Кстати, по этой же причине стирание информации потребляет намного больше энергии, чем чтение и запись. Поэтому хотите сэкономить заряд, поменьше удаляйте файлы!

Напомню, что в жестких дисках, которые HDD, другая проблема. Там информация считывается по одной ячейке. Жесткий диск вращается, а считывающая головка ездит туда-сюда по всей поверхности диска. И, если файлы разбиты на фрагменты, хранящиеся в разных концах диска — скорость падает. Поэтому, для HDD полезна дефрагментация.

Что такое спецификация?

Но вернёмся к флеш-памяти. Естественно сам по себе чип с памятью бесполезен потому как всей этой сложной структурой нужно как-то управлять. Поэтому существуют целые технологические стеки, которые всё разруливают. Их называют стандартами или спецификациями.

Еще разок!

Есть чип с флеш-памятью, как правило это NAND память. Там хранятся данные.

А есть спецификация — это целый набор технологий вокруг чипа, программных и аппаратных, которые обеспечивают взаимодействия с памятью. Чем умнее спецификация, тем быстрее работает память.

Так какие же спецификации используются в наших смартфонах и какая из них самая умная? Давайте разберёмся.

eMMC

Выход первого iPhone в 2007 году спровоцировал постепенный отказ от карт памяти. Появилась потребность в новом стандарте недорогой флеш-памяти для мобильных устройств. Так появился eMMC, что значит встроенная Мультимедиа карта или Embedded Multimedia Card. То есть прям как eSIM (Embedded SIM).

Стандарт eMMС постепенно обновлялся и его скорости росли. И eMMC до сих пор используется в большинстве смартфонов, но данный стандарт явно не рекордсмен по скорости и сильно проигрывает тем же SSD дискам.

UFS

Тогда в 2014 году появился новый стандарт с нескромным названием Universal Flash Storage или UFS! Новый стандарт был всём лучше eMMC.

Во-первых, в UFS последовательный интерфейс. А это значит, что можно одновременно и записывать и считывать. eMMC мог делать только что-то одно. Поэтому UFS работает быстрее!

Во-вторых, он в два раза более энергоэффективный в простое.

Эффективнее работает с файлом подкачки когда ОЗУ забита. И еще, существуют UFS карты памяти, которые могут быть бесшовно интегрированы в внутреннем хранилищем! Это же полноценная модульная память!

Кстати, по этой причине, внутреннюю память телефона правильнее называть eUFS. Embedded, ну вы помните.

UFS вышел сразу же в версии 2.0 в 2015 году, а первым телефоном с этим стандартом стал Samsung Galaxy S6. Samsung так гордились скоростью памяти, что даже выкинули слот microSD из Galaxy S6. Казалось бы, судьба стандартов флеш-памяти предрешена — вот он новый король. Новый USB мира флеш-памяти.

Но внезапно выходит iPhone 6s и мы видим это!

Что? Как такое возможно? Что за чудо память в этих iPhone? Похоже, Apple пошли какой-то своей дорожкой. Если стандарты eMMC и UFS — наследники каких-то там детских карт памяти, то память в iPhone — прямой наследник взрослых SSD-дисков. Потому как в iPhone используется спецификация памяти NVMe. Такая же память используется в компах и ноутбуках.

NVMe

Название NVMe довольно сложно расшифровывается — NVM Express (NVMe, NVMHCI — от англ. Non-Volatile Memory Host Controller Interface Specification).

Но ключевое слово в названии Express! Почему?

Спецификация NVMe специально разрабатывалась для SSD-дисков с памятью NAND, подключенных по шине PCI Express.

NVMe создавался с нуля как новый способ эффективной работы с SSD-дисками. Из него убрали всё лишнее и сосредоточились на скорости.

Поэтому, благодаря короткому технологическому стеку, NVMe имеет большое преимущество при случайной записи и чтении блоков над остальными стандартами.

Что это значит?

Это свойство особенно полезно для работы операционной системы, которая постоянно считывает и генерит кучу маленьких файлов размером по 4 КБ. Случайное чтение и запись NVMe — это то, что делает iPhone таким быстрым.

Но, естественно, Apple не могли просто запихнуть целый SSD в смартфон. Они модифицировали протокол NVMe и разработали свой кастомный PCI-E контроллер.

Поэтому, то что стоит в iPhone — решение абсолютно уникальное и в своё время было революционным. А они об этом даже ничего не сказали! Как всегда делает Apple.

Такая же история с MacBook. Apple первыми оказались от HDD. И они всегда ставят самую быструю память в ноуты. Во многом поэтому, даже на более слабом железе Mac ощущаются быстрее Windows-ноутбуков.

Тесты

Но вернёмся к смартфонам. Мы выяснили, что Android используют UFS-память, а Айфоны NVMe. Но проблема в том, что сложно сказать какая память действительно быстрее.

Скажем так есть, крутое сравнение от компании Micron. На базе кастомного Android девайса они сравнили NVMe и UFS 2.1 и получили преимущество NVMe по всем показателям! Вот такие:

  • Последовательная запись > 28%
  • Последовательное чтение > 15% быстрее при последовательном чтении.
  • IOPS (случайная запись и чтение) > 30%

CPDT Бенчмарк

Но кому это интересно? Сейчас много где есть UFS 3.0, а в Redmi K30 Pro вообще UFS 3.1.

Только посмотрите UFS 3.1 быстрее UFS 2.0 по разным показателям вплоть до 8 раз. Вот с чем надо сравнивать!

UFS 2.0 vs UFS 3.1

  • Последовательное чтение — 6X
  • Последовательная запись — 8X
  • Случайное чтение — 5.3X
  • Случайная запись — 5X

Значит надо просто скачать одинаковый тест под iPhone и Android, и готово! Мы узнаем — кто чемпион. Только знаете что? Нет такого теста! Поверьте мы искали. Есть спорные тесты с непонятной методологией (PerfonaceTest), но приличного ничего нет.

Кроме… Вот этого чудесного теста: Cross Platform Disk Test. Работает на всех платформах, подробно описана методология тестирования. И даже есть результаты тестов некоторых iPhone:

Но вот незадача, версия приложения для iOS так и не была выпущена.

Но мы не отчаялись! Как выяснилось, разработчика зовут Максим, он из Минска. Поэтому мы с ним связались и Макс любезно предоставил нам девелопер версию приложения под iOS.

Поэтому сегодня мы наверняка узнаем где всё-таки быстрее память: На самых последних iPhone или на самых крутых Android-смартфонах:

  • iPhone 11 Pro — NVMe
  • Oneplus 8 Pro — UFS 3.0
  • Redmi K 30 Pro — UFS 3.1
  • и Macbook Pro 16 — NVMe

В итоге побеждает дружба, в последовательной записи вроде бы все очень неплохо у Apple, но по произвольной они подчистую сливают Android-смартфонам.  В копировании — буквальное равенство результатов. При этом заметьте, что Poco F2 Pro с UFS 3.1 показал себя в тестах никак и проиграл и Sony Xperia 1 II, и OnePlus 8 Pro. Возможно решает не только это! А вот в сравнении с «взрослым» NVMe в ноутбуках мобильный NVMe в 3-4 раза медленнее и это конечно не радует. С другой стороны это значит, что смартфонам есть куда расти!

Еще раз хотим поблагодарить Максима за помощь и инструкции! Помните, тест не из лёгких, поэтому если у вас будет вылетать не ругайтесь!