iPhone быстрые? Да! Но почему?
Apple мало что рассказывает нам про внутренности своих девайсов. Как будто скрывает от нас страшную тайну!
Например, знали ли вы что в iPhone и в Android используется совершенно разный тип флеш-памяти? NVMe в iPhone и UFS в Android.
Может в этом секрет скорости девайсов Apple? Сегодня разберемся в том, как устроена флеш-память. Узнаем, чем отличаются стандарты памяти? И главное — сравним, кто всё-таки быстрее Android или iPhone! Такой информации больше нигде не найдете. Так что, читайте и смотрите до конца!
Флеш-память
Начнём с того что на флешках, картах памяти, в смартфонах и SSD-дисках — везде используют один тот же тип памяти — флеш-память. Это современная технология, пришедшая на смену магнитным носителям информации, то есть жестким дискам.
У флеш-памяти куча преимуществ. Она энергоэффективная, дешевая, прочная и безумно компактная. На чипе размером с монетку помещается до терабайта данных!
Но как удаётся хранить такие огромные объемы информации при таких крошечных размерах?
Как работает флеш-память?
Давайте разберемся как устроена флеш-память.
Базовая единица современной флэш-памяти — это 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 раза медленнее и это конечно не радует. С другой стороны это значит, что смартфонам есть куда расти!
Еще раз хотим поблагодарить Максима за помощь и инструкции! Помните, тест не из лёгких, поэтому если у вас будет вылетать не ругайтесь!