Домашня » як » Що робить ЕММК флеш-пам'ять життєздатною в мобільних пристроях, але не ПК?

    Що робить ЕММК флеш-пам'ять життєздатною в мобільних пристроях, але не ПК?

    Використання флеш-пам'яті для запуску настільної системи, як, наприклад, Windows, було рекомендовано протягом деякого часу. Але що зробило його бажаним і життєздатним варіантом для мобільних пристроїв? Сьогоднішня стаття SuperUser Q&A має відповідь на запитання цікавого читача.

    Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..

    Питання

    Читач SuperUser RockPaperLizard хоче знати, що робить флеш-пам'ять eMMC життєздатною в мобільних пристроях, але не ПК:

    З тих пір, як USB-накопичувачі були винайдені, люди задавалися питанням, чи можуть вони запускати свої операційні системи на них. Відповідь завжди була "ні", тому що кількість записів, необхідних операційній системі, швидко їх витягне.

    Оскільки SSD-диски стали більш популярними, технологія вирівнювання зносу покращилася, щоб дозволити робочим системам працювати на них. Різні планшети, нетбуки та інші компактні комп'ютери використовують флеш-пам'ять замість жорсткого диска або SSD, і операційна система зберігається на ній.

    Як це раптом стало практичним? Як правило, наприклад, вони застосовують технології вирівнювання зносу?

    Що робить флеш-пам'ять eMMC життєздатною для мобільних пристроїв, але не для ПК?

    Відповідь

    Співробітники SuperUser Speeddymon і Journeyman Geek мають відповідь для нас. Спочатку, Speeddymon:

    Усі пристрої флеш-пам'яті, від планшетів до мобільних телефонів, смарт-годинників, SSD-дисків, карток SD у камерах та флеш-накопичувачі USB використовують технологію NVRAM. Різниця полягає в архітектурі NVRAM і тому, як операційна система монтує файлову систему на будь-якому носії, на якому воно знаходиться.

    Для планшетів Android і мобільних телефонів, технологія NVRAM заснована на eMMC. Дані, які я можу знайти за цією технологією, пропонує від 3 до 10k циклів запису. На жаль, жодне з того, що я знайшов до цих пір не є остаточним, тому що Вікіпедія не містить жодних циклів запису цієї технології. Всі інші місця, які я подивився, виявилися різними форумами, тому навряд чи те, що я б назвав надійним джерелом.

    Для порівняння, цикли запису на іншій технології NVRAM, такі як SSD, які використовують технологію NAND або NOR, становлять від 10 до 30 КБ.

    Тепер, щодо вибору операційної системи, як монтувати файлову систему. Я не можу говорити про те, як це робить Apple, але для Android чіп розділений, як на жорсткому диску. У вас є розділ операційної системи, розділ даних і кілька інших власних розділів, залежно від виробника пристрою.

    Справжній кореневий розділ живе всередині завантажувача, який об'єднаний у вигляді стисненого файлу (jffs2, cramfs і т. Д.) Разом з ядром, так що, коли завантаження пристрою на стадії 1 завершується (зазвичай логотип виробника), то ядро Boots і кореневий розділ одночасно встановлюється як диск RAM.

    Під час завантаження операційної системи він встановлює файлову систему первинного розділу (/ system, яка є jffs2 на пристроях до Android 4.0, ext2 / 3/4 на пристроях з Android 4.0, а також xfs на останніх пристроях) як доступне лише для читання. що в неї не можуть бути записані дані. Це, звичайно, можна обробити так званим «укоріненням» вашого пристрою, який дає вам доступ як суперкористувач і дозволяє повторно встановлювати розділ як читання / запис. Ваші "користувацькі" дані записуються на інший розділ на чіпі (/ дані, які слідують тій самій конвенції, що й на основі версії Android).

    Завдяки збільшенню кількості мобільних телефонів, які викидають слоти для карток SD, ви можете подумати, що ви потрапите до кришки циклу запису раніше, оскільки всі ваші дані тепер зберігаються на сховищі eMMC замість картки SD. На щастя, більшість файлових систем виявляють невдалу запис у задану область зберігання. Якщо запис не вдається, то дані мовчки зберігаються в новій області зберігання, а погана область (відома як поганий блок) заблокована драйвером файлової системи, так що дані більше не записуються в майбутньому. Якщо прочитання не вдалося, то дані позначаються як пошкоджені, і або користувачеві наказується запустити перевірку файлової системи (або перевірте диск), або пристрій автоматично перевіряє файлову систему під час наступного завантаження.

    Насправді, Google має патент на автоматичне виявлення та керування поганими блоками: керування поганими блоками в флеш-пам'яті для електронної картки флеш-карти

    Щоб дізнатися більше, ваше питання про те, як це раптом стало практичним, не є правильним питанням. Це ніколи не було непрактично. Настійно рекомендувалося не встановлювати операційну систему (Windows) на SSD (імовірно) через кількість записів, які вона робить на диск.

    Наприклад, реєстр отримує буквально сотні читань і записів в секунду, що можна побачити за допомогою інструмента Microsoft-SysInternals Regmon.

    Встановлення Windows було рекомендовано проти SSD першого покоління, тому що з відсутністю вирівнювання зносу, дані, записані в реєстр кожну секунду (ймовірно), зрештою наздогнали перших користувачів і призвели до завантаження систем через пошкодження реєстру.

    Що стосується планшетів, мобільних телефонів і практично будь-яких інших вбудованих пристроїв, то немає жодного реєстру (виключення пристроїв Windows Embedded) і, таким чином, немає жодних турбот про те, що дані постійно записуються в ті ж самі частини флеш-середовища.

    Для пристроїв Windows Embedded, таких як багато кіосків, знайдених у громадських місцях (наприклад, Walmart, Kroger тощо), де ви можете побачити випадковий BSOD час від часу, конфігурації неможливо виконати, оскільки вони попередньо розроблені з конфігураціями, які ніколи не змінюються. Єдина зміна часу відбувається до того, як чіп буде написано в більшості випадків. Все, що потрібно зберегти, наприклад платіж до продуктового магазину, здійснюється через мережу до баз даних магазину на сервері..

    Далі йшла відповідь від Journeyman Geek:

    Відповідь завжди була "ні", тому що кількість записів, необхідних операційній системі, швидко їх витягне.

    Вони нарешті стали економічно ефективними для основного використання. Це “знос” є єдиним побоюванням. Упродовж значного періоду часу існували системи, що працюють на твердотільній пам'яті. Багато людей, які побудували автомобілі, відключалися від карток CF (які були електрично сумісні з PATA і тривіальними для встановлення в порівнянні з жорсткими дисками PATA), а промислові комп'ютери мали невеликий, жорсткий флеш-накопичувач.

    Тим не менш, для середньої людини не було багато варіантів. Ви могли б купити PRICY CF карту і адаптер для ноутбука, або знайти крихітний, дуже дорогий промисловий диск на модульному блоці для робочого столу. Вони були не дуже великі в порівнянні з сучасними жорсткими дисками (сучасні IDE DOMs виходять на 8GB або 16GB, я думаю). Я впевнений, що ви могли б отримати твердотільні накопичувачі, встановлені до того, як стандартні SSD стали звичайними.

    Насправді не було ніяких універсальних / магічних поліпшень у вирівнюванні зносу, наскільки я знаю. Існують додаткові поліпшення, поки ми віддаляємося від PRCI до MLC, TLC, і навіть QLC, а також з меншими розмірами процесу (всі з яких мають нижчу вартість з деяким більш високим ризиком зношування). Flash набагато дешевше.

    Також було кілька альтернатив, які не мали проблем із зносом. Наприклад, запуск всієї системи з ПЗУ (що, можливо, твердотільне сховище) і оперативної пам'яті, що підтримується батареєю, яку використовували багато ранніх SSD і портативних пристроїв, таких як Palm Pilot. Жодне з них сьогодні не є звичайним. Жорсткі диски качали порівняно, скажімо, акумуляторна оперативна пам'ять (занадто дорога), ранні твердотільні пристрої (трохи дорогі), або селяни з прапорами (ніколи не прижилися через страшну щільність даних). Навіть сучасна флеш-пам'ять є нащадком швидких стираючих eeproms і eeproms були використані в електронних пристроях для зберігання таких речей, як прошивка для віків.

    Жорсткі диски просто були на гарному перетині великого обсягу (що важливо), низькою вартістю і відносно достатньою місткістю.

    Причина, по якій ви знаходите eMMC в сучасних, низьких кінцевих комп'ютерах, - це порівняно дешеві, достатньо великі (для настільних операційних систем), і поділяють спільність з компонентами мобільних телефонів, тому вони виробляються навалом зі стандартним інтерфейсом. Вони також дають велику щільність зберігання для свого обсягу. Враховуючи, що багато з цих машин мають незначний 32-гігабайтний або 64-гігабайтний диск, нарівні з жорсткими дисками більшої частини десятиліття тому, вони є розумним варіантом у цій ролі.

    Ми, нарешті, досягаємо точки, де можна зберігати розумний обсяг пам'яті за доступною ціною і з розумною швидкістю на eMMC і flash, тому люди йдуть за ними.


    Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.

    Зображення: Мартін Вольтрі (Flickr)