Типи флеш-пам’яті в мобільних пристроях: швидше, розумніше, краще

Для зберігання даних у різних «розумних» гаджетах використовуються накопичувачі на базі флеш-пам’яті. Вони мають багато підвидів, що розрізняються за типом підключення, поколіннями і швидкостями. Чому один і той самий об’єм пам’яті в бюджетному і флагманському пристрої — це не одне й те саме? І чому не всяка пам’ять однаково корисна? Відповіді на ці запитання — у нашому матеріалі.

Історично першими і єдиними накопичувачами персональних комп’ютерів протягом довгого часу були жорсткі диски. Флеш-пам’ять на початку свого розвитку була дорогою, і створити доступний за ціною накопичувач пристойного об’єму в ті часи просто не було можливим. І тільки в останнє десятиліття нові технології стали давати змогу виробляти накопичувачі на флеш-пам’яті потрібного для ПК об’єму за доволі доступною ціною, унаслідок чого системні жорсткі диски в користувацьких комп’ютерах і ноутбуках плавно замінили SSD.

На противагу цьому, навіть перші мобільні пристрої з мультимедійними можливостями спочатку оснащувалися накопичувачами на базі флеш-пам’яті та картами пам’яті на їхній же основі. Добре, що обсяги тоді були невеликі, а встановлювати навіть невеликий жорсткий диск у мобільний пристрій загрожувало чутливістю до падінь, великим енергоспоживанням, розмірами і вагою пристрою. Втім, рідкісні винятки все ж були — взяти той же Nokia N91 2006 року з мініатюрним жорстким диском. Однак практично всі пристрої з тих років і по сьогоднішній день оснащуються саме накопичувачами на базі флеш-пам’яті. Її розвиток у мобільних пристроях має довгу історію, за яку змінилося кілька типів пам’яті, у кожної з якої є кілька версій зі своїми особливостями. Розглянемо варіанти пам’яті, що зустрічаються в сучасних пристроях.

eMMC

Вбудована пам’ять Embedded MMC заснована на стандарті карт пам’яті MultiMedia Card, вперше представленому в 1997 році. У 1999 році був представлений вдосконалений стандарт MMC 2.0, у 2001-му — MMC третьої версії. Перші варіанти карт MMC не відзначалися високою швидкістю, внаслідок чого для основи стандарту внутрішньої пам’яті мобільних пристроїв їхні специфікації підходили мало.

MMC 4.0, що побачив світ у 2003 році, отримав можливість значного збільшення швидкості «спілкування» карт із пристроєм — раніше використовуваний однобітний режим передавання даних за замовчуванням замінив чотирибітний, опціонально міг бути задіяний і режим 8-біт. Ці специфікації лягли і в основу першого стандарту вбудованої пам’яті сімейства eMMC під версією 4.1, розробленого організацією JEDEC у середині 2007 року. Подальші версії стандартів 4.2, 4.3, 4.4 і 4.41 містять поліпшення в управлінні живленням пам’яті, контроль поганих блоків, оптимізації для операцій читання і запису. Максимальна швидкість передачі даних перших версій eMMC обмежена 52 МБ/c. З версії 4.4 вона подвоєна до 104 МБ/с.

У 2011 році JEDEC представила стандарт eMMC 4.5, основним поліпшенням якого є збільшення швидкості інтерфейсу до 200 МБ/c завдяки більш швидкій шині. У версії eMMC 5.0, датованій 2013 роком, пікова швидкість передавання інтерфейсу знову збільшилася вдвічі, було проведено велику оптимізацію для досягнення більш високої продуктивності пам’яті в режимі випадкового запису. Остання версія стандарту eMMC 5.1 датована 2015 роком, що включає в себе нові оптимізації операцій читання і запису. Завдяки цьому вінець розвитку eMMC у реальному використанні став трохи швидшим за свою попередню версію, хоча пропускна спроможність інтерфейсу залишилася колишньою.

Карти пам’яті MMC з портативних пристроїв уже давно витіснили їхні «онуки» стандарту Secure Digital (SD), який є подальшим розвитком MMC. А вбудовану eMMC у середньобюджетних і флагманських пристроях замінила досконаліша пам’ять UFS. Незважаючи на це, внутрішня пам’ять eMMC широко використовується величезною кількістю бюджетних пристроїв і донині — для них її швидкості достатні, та й обходиться така пам’ять виробникам дешевше за більш швидких сучасників.

UFS

Як би не вдосконалювалася eMMC, з кожним роком ставало дедалі зрозуміліше, що їй потрібна більш високопродуктивна заміна. У 2011 році організацією JEDEC було опубліковано стандарт першої версії нової мобільної пам’яті наступного покоління — Universal Flash Storage (UFS).

Відмінності між двома типами пам’яті виявилися куди глибшими, ніж у простому збільшенні швидкості. Пам’ять eMMC використовує паралельний доступ подібно до інтерфейсу IDE старих комп’ютерних жорстких дисків. UFS ж заснована на послідовному інтерфейсі, як у більш сучасних SATA і NVMe. Аналогічно останньому реалізовано в UFS і масштабованість — для досягнення більш високої пропускної спроможності можна задіяти відразу кілька ліній інтерфейсу. Крім цього, завдяки іншій внутрішній організації та використанню черги команд пам’ять нового типу демонструє набагато вищі показники випадкових операцій, які особливо важливі для збільшення швидкості роботи операційної системи пристрою і встановлених програм.

До того ж інтерфейс у eMMC напівдуплексний. Тобто дані з максимальною швидкістю в один момент часу можуть передаватися тільки в одному напрямку — або від накопичувача до пристрою, або від пристрою до накопичувача. Паралельне читання і запис ділять між собою пропускну здатність і призводять до зниження продуктивності. UFS такої проблеми позбавлена — інтерфейс повнодуплексний, і максимальна швидкість обміну може досягатися одночасно в обох напрямках.

Перша версія UFS ґрунтувалася на одній лінії зі швидкістю з’єднання 300 МБ/c. У 2012 році було випущено специфікацію 1.1, яка включала деякі поліпшення з управління пам’яттю, але швидкість не збільшувала. Виробники мобільних чипів і гаджетів на той час не бачили особливого сенсу у використанні UFS перших версій — eMMC 4.5, що конкурує, міг передавати до 200 МБ/с, а розробка і впровадження в SoC контролера для роботи з пам’яттю нового типу здорожувала їх при порівняно невеликому вихлопі. При цьому самі чіпи пам’яті для UFS перебували на початку свого розвитку і коштували досить дорого, що також робило впровадження нового виду накопичувачів економічно невигідним.

У 2013 році було представлено друге покоління UFS. Нова специфікація включала доопрацювання управління живленням для кращого енергозбереження і поліпшені функції безпеки. Але найголовніше — версія 2.0 отримала значне збільшення пропускної здатності інтерфейсу. Швидкість лінії подвоїли до 600 МБ/c, а кількість самих ліній наростили до двох, внаслідок чого максимальна пропускна здатність збільшилася до 1200 МБ/c. Такі поліпшення порівняно з eMMC були вже набагато істотнішими, і практичним впровадженням нового типу пам’яті зацікавилася компанія Samsung. Південнокорейський гігант, який сам розробляє пам’ять і системи на чіпі для мобільних пристроїв, першим впровадив у свій флагманський SoC Exynos 7420 контролер пам’яті UFS 2.0. Нова пам’ять дебютувала в лінійці смартфонів Samsung Galaxy S6.

У 2016 році було вирішено оновити специфікацію UFS до версії 2.1, додавши в неї підтримку індикатора «здоров’я» пам’яті, оптимізацію операцій запису, введення пріоритету команд і можливість безпечного оновлення мікрокоду прошивки. За функціональністю і принципами роботи накопичувачі даного типу ставали все більше схожими на своїх старших братів — SSD.

У 2018 році було представлено специфікацію нового покоління пам’яті UFS 3.0. Введено новий режим оновлення команд, передбачено розширений робочий температурний режим ві д-40 до 105 °C, адже пам’ять цього типу дедалі більше починала застосовуватися в автомобілебудуванні. Ліній передачі даних все також дві, але вони значно прискорилися. Тепер кожна здатна видати до 1450 МБ/c, внаслідок чого загальна пропускна здатність збільшується до 2900 МБ/c.

До 2020 року пам’ять UFS набрала популярності в масових мобільних пристроях, і JEDEC представила ще дві оновлені специфікації — топову UFS 3.1 і мейнстримову UFS 2.2. Новинки не отримали збільшення пропускної здатності інтерфейсу, але обзавелися новою функцією WriteBooster, ще на один крок наблизивши мобільну пам’ять до SSD. Технологія покликана збільшити швидкість запису порівняно з попередниками за рахунок додавання SLC-кеша.

Високопродуктивна UFS 3.1 додатково отримала ще два нововведення — режим глибокого сну DeepSleep для меншого енергоспоживання і функцію Performance Throtlling Notification для контролю продуктивності в разі перегріву пам’яті. Також було додано розширення стандарту UFS Host Performance Booster. Воно передбачає кешування в ОЗП карти логічних і фізичних адрес пам’яті, завдяки чому має підвищитися швидкість доступу до накопичувачів великого обсягу.

Влітку 2022 року було презентовано останню на даний момент специфікацію швидкої мобільної пам’яті — UFS 4.0. В її основі все ті ж дві незмінні лінії, кожна з яких подвоїла свою пропускну здатність до 2900 МБ/c, тоді як загальна швидкість по двох лініях може доходити до неймовірних 5800 МБ/c. Крім прискорення ліній, нова специфікація передбачає зниження напруги живлення, завдяки чому пам’ять має менше грітися і бути більш економічною. UFS 4.0 отримала підтримку багаторівневих черг запитів Multi-Circular Queue, вдосконалений інтерфейс RMPB і кілька нових команд для зниження системних затримок.

Окремо варто згадати про карти пам’яті UFS. Якщо пам’ять eMMC «виросла» зі стандарту для карт пам’яті MMC, то тут все навпаки: карти UFS з’явилися завдяки розвитку вбудованої пам’яті UFS, яку в даному контексті правильніше називати eUFS. Перша версія стандарту UFS Card датована 2016 роком і заснована на UFS 2.0, але використовує одну лінію замість двох. Це дає 600 МБ/c пропускної здатності при збереженні всіх інших функціональних переваг.

Оновлену версію UFS Card 1.1 було представлено у 2018 році разом зі стандартом UFS 3.0. Стеля швидкості залишилася колишньою, зміни обмежилися додаванням деяких функцій і оптимізацій від «старшої сестри» UFS 3.0. У 2020 році було презентовано останню на цей момент версію UFS Card 3.0, для роботи якої так само використовується одна лінія, але з подвоєною швидкістю передавання даних — до 1200 МБ/c. На жаль, карти пам’яті формату UFS так і не знайшли застосування в реальних масових пристроях, хоча компанія Samsung анонсувала випуск таких продуктів уже кілька разів.

Apple NVMe

До 2015 року пам’ять eMMC використовувалася повсюдно у всіх мобільних гаджетах, незалежно від виробника. У 2015 році, коли Samsung випустила перший смартфон з UFS 2.0, компанія Apple вирішила піти своїм шляхом розвитку швидкісної пам’яті у власних гаджетах. Система на чипі Apple A9, що стала серцем смартфона iPhone 6S, вперше містила в собі кастомний NVMe-контролер для зв’язку з внутрішнім накопичувачем. По суті, компанія перенесла комп’ютерний NVMe SSD у смартфон — з деякими спрощеннями і повільнішою пам’яттю, але все ж.

Як і у випадку інших своїх розробок, Apple не розкривала подробиці технічних характеристик свого накопичувача. Судячи з незалежних тестів, у чипі A9 встановлювали різновид NVMe-контролера власної розробки Apple, який компанія використовувала в ноутбуці MacBook 12″ 2015 року випуску. Цей контролер підключається за чотирма лініями шини PCI-E 2.0 і забезпечує максимальну пропускну здатність у 2 ГБ/c.

Усі наступні системи на чипі компанії оснащуються схожими NVMe-контролерами власної розробки з аналогічною пропускною спроможністю. Починаючи зі смартфонного чипа A14 і планшето-ноутбучного M1, до складу розробок Apple входить швидкісніший NVMe-контролер із максимальною пропускною спроможністю до 3.9 ГБ/c. Однак пам’ять у смартфонах цих значень не досягає, серед мобільних гаджетів тільки планшети iPad на чіпі M1 з великим об’ємом пам’яті здатні перевищувати попередній поріг у 2 ГБ/c на короткочасних операціях. Більш швидкі комп’ютерні чіпи M1 серій Pro, Max і Ultra мають у своєму складі найшвидший NVMe-контролер компанії зі швидкістю до 7.8 ГБ/c, але в смартфонах і планшетах вони не зустрічаються, залишаючись прерогативою ноутбуків і комп’ютерів компанії.

Порівняння різних типів пам’яті

Високі швидкості і тисячі операцій на секунду красиво виглядають на папері. Але не варто забувати, що будь-який вид пам’яті з описаної трійці — це всього лише специфікація. Комп’ютерний інтерфейс NVMe 4.0 x4 має пропускну здатність понад 7 ГБ/c, але чи всі SSD з його підтримкою досягають на практиці цих значень? Те ж саме і з мобільними видами накопичувачів. Порівняємо різні види пам’яті в таблиці нижче, враховуючи як заявлені специфікації, так і характеристики кожного виду пам’яті, що найчастіше зустрічаються в реальних пристроях.

* Дані презентації пам’яті UFS 4.0 виробництва компанії Samsung.

Як бачите, розкид між швидкістю інтерфейсу і встановлюваної пам’яті здебільшого доволі істотний. Ба більше, наведено дані для одних з найбільш ємних накопичувачів кожного типу пам’яті. Наприклад, для UFS 3.1 цифри продуктивності подано для накопичувача об’ємом 512 ГБ, тоді як для смартфонів з 256 або 128 ГБ такої пам’яті деякі характеристики можуть бути значно меншими. Компанія Apple не анонсує зміни в кожному поколінні своїх контролерів, тому в таблиці її пристрої дано одним рядком — через це розкид зазначених характеристик порівняно з іншими типами пам’яті ще більший.

Проте що новіший тип пам’яті в пристрої, то швидший у середньому його накопичувач. Однак варто враховувати, що окремо вид накопичувача ви все одно вибрати не зможете: все залежить від використовуваної системи на чіпі, в якій має бути підтримка того чи іншого виду пам’яті, і від реалізації її можливостей у самому смартфоні. До того ж не варто забувати, що в молодших модифікацій пристроїв з найменшою в лінійці кількістю пам’яті швидкість останньої найчастіше значно менша, ніж у моделей з більшим об’ємом накопичувача.

Як правило, сучасні мобільні пристрої високого цінового діапазону оснащуються пам’яттю з інтерфейсом UFS 3.1 (або NVMe у випадку Apple). У середньому класі зустрічаються як третя, так і друга версії UFS. А в бюджетний, де досі панує eMMC, все частіше проникають деякі смартфони з UFS 2.x. Топові моделі кінця цього року вперше почали оснащуватися найшвидкіснішою мобільною пам’яттю UFS 4.0, експансія якої чекає на флагманський сегмент смартфонів у 2023 році.