Что делает флэш-память eMMC жизнеспособной на мобильных устройствах, но не на ПК?
Использование флэш-памяти для запуска настольной системы, такой как 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 до 10 тысяч циклов записи. К сожалению, ничто из того, что я нашел до сих пор, не является окончательным, поскольку в Википедии нет информации о циклах записи этой технологии. Все остальные места, которые я посмотрел, оказались различными форумами, поэтому вряд ли то, что я бы назвал надежным источником.
Для сравнения, циклы записи для других технологий NVRAM, таких как твердотельные накопители, в которых используются технологии NAND или NOR, составляют от 10 до 30 тыс..
Теперь касаемо выбора операционной системой того, как монтировать файловую систему. Я не могу говорить о том, как Apple это делает, но для Android чип разделен на жесткие диски. У вас есть раздел операционной системы, раздел данных и несколько других проприетарных разделов в зависимости от производителя устройства.
Настоящий корневой раздел живет внутри загрузчика, который упакован в сжатый файл (jffs2, cramfs и т. Д.) Вместе с ядром, так что, когда завершается первая стадия загрузки устройства (обычно экран с логотипом производителя), затем ядро загружается и корневой раздел одновременно монтируется как RAM диск.
Когда операционная система загружается, она монтирует файловую систему основного раздела (/ system, которая на устройствах до Android 4.0 является jffs2, ext2 / 3/4 на устройствах начиная с Android 4.0 и xfs на последних устройствах) только для чтения, так что что никакие данные не могут быть записаны в него. Конечно, это можно обойти с помощью так называемого «рутирования» вашего устройства, которое дает вам доступ как суперпользователь и позволяет перемонтировать раздел как чтение / запись. Ваши «пользовательские» данные записываются в другой раздел на чипе (/ data, что соответствует тому же соглашению, что и выше, в зависимости от версии Android).
Поскольку все больше и больше мобильных телефонов отказываются от слотов для SD-карт, вы можете подумать, что быстрее достигнете ограничения цикла записи, поскольку все ваши данные теперь сохраняются в хранилище eMMC вместо SD-карты. К счастью, большинство файловых систем обнаруживают сбой записи в заданную область памяти. Если запись не удалась, тогда данные автоматически сохраняются в новой области хранения, и поврежденная область (известная как поврежденный блок) отключается драйвером файловой системы, так что в будущем данные больше не будут записываться туда. Если при чтении происходит сбой, данные помечаются как поврежденные, и либо пользователю предлагается выполнить проверку файловой системы (или проверить диск), либо устройство автоматически проверяет файловую систему во время следующей загрузки..
На самом деле, у Google есть патент на автоматическое обнаружение и обработку плохих блоков: управление плохими блоками во флэш-памяти для электронных карт памяти данных
Если говорить более подробно, то ваш вопрос о том, как это внезапно стало практичным, не тот вопрос, который нужно задавать. Во-первых, это никогда не было непрактично. Настоятельно рекомендуется не устанавливать операционную систему (Windows) на SSD (предположительно) из-за количества операций записи на диск..
Например, реестр получает буквально сотни операций чтения и записи в секунду, что можно увидеть с помощью Microsoft-SysInternals Regmon Tool..
Не рекомендуется устанавливать Windows на твердотельные накопители первого поколения, потому что из-за отсутствия выравнивания износа данные, записываемые в реестр каждую секунду (вероятно), в конечном итоге попадают к ранним пользователям и приводят к невозможности загрузки систем из-за повреждения реестра.
С планшетами, мобильными телефонами и почти любым другим встроенным устройством нет реестра (разумеется, устройства с Windows Embedded являются исключениями), и, следовательно, не нужно беспокоиться о том, что данные постоянно записываются на одни и те же части флэш-носителя..
Для устройств Windows Embedded, таких как многие киоски, которые можно найти в общественных местах (например, Walmart, Kroger и т. Д.), Где время от времени вы можете видеть случайный BSOD, не так много настроек, которые можно выполнить, так как они предварительно разработаны с конфигурациями, которые предназначены, чтобы никогда не изменяться. Изменения происходят только до того, как чип будет записан в большинстве случаев. Все, что нужно сохранить, например, ваш платеж в продуктовый магазин, выполняется по сети с базами данных магазина на сервере..
Вслед за ответом подмастерье Компьютерщик:
Ответ всегда был «нет», потому что количество операций записи, требуемых операционной системой, быстро изнашивало бы их.
Наконец они стали экономически эффективными для широкого использования. То, что «износ» является единственной проблемой, является чем-то вроде предположения. Существовали системы, работающие на твердотельной памяти в течение значительного периода времени. Многие люди, которые строили автомобильные очистители, загружались с CF-карт (которые были электрически совместимы с PATA и тривиальными для установки по сравнению с жесткими дисками PATA), а промышленные компьютеры имели небольшие надежные флэш-накопители..
Тем не менее, было не так много вариантов для среднего человека. Вы можете купить дорогую CF-карту и адаптер для ноутбука или найти крошечный, очень дорогой промышленный диск на модульном модуле для настольного компьютера. Они были не очень большими по сравнению с современными жесткими дисками (я думаю, современные IDE DOM достигают 8 ГБ или 16 ГБ). Я почти уверен, что вы могли бы получить твердотельные системные диски до того, как стандартные SSD стали распространенными.
Насколько я знаю, на самом деле не было каких-либо универсальных / магических улучшений в выравнивании износа. Были постепенные улучшения, в то время как мы перешли от дорогостоящего SLC к MLC, TLC и даже QLC вместе с меньшими размерами процесса (все это снижает стоимость с некоторым повышенным риском износа). Flash стал намного дешевле.
Было также несколько альтернатив, которые не имели проблем с износом. Например, запуск всей системы из ПЗУ (которое, возможно, является твердотельным хранилищем) и ОЗУ с резервным питанием от батареи, которое использовалось многими ранними твердотельными накопителями и портативными устройствами, такими как Palm Pilot. Ни один из них не распространен сегодня. Жесткие диски качались по сравнению, скажем, с оперативной памятью на батарейках (слишком дорого), ранними твердотельными устройствами (несколько дорогими) или крестьянами с флагами (никогда не завоевывали популярность из-за ужасной плотности данных). Даже современная флэш-память является потомком быстро стираемых EEPROM, а EEPROM использовались в электронных устройствах для хранения вещей, таких как прошивки на века.
Жесткие диски просто находились на хорошем пересечении большого объема (что важно), низкой стоимости и относительно достаточного объема памяти..
Причина, по которой вы обнаруживаете eMMC в современных компьютерах нижнего уровня, заключается в том, что компоненты являются относительно дешевыми, достаточно крупными (для настольных операционных систем) при таких затратах и имеют общий характер с компонентами мобильных телефонов, поэтому они производятся оптом со стандартным интерфейсом. Они также дают большую плотность хранения для их объема. Учитывая, что многие из этих машин имеют малюсенький диск 32 ГБ или 64 ГБ, наравне с жесткими дисками, выпущенными десять лет назад, они являются разумным вариантом в этой роли..
Мы наконец достигли точки, когда вы можете хранить разумное количество памяти по доступной цене и с разумной скоростью на eMMC и флэш-памяти, поэтому люди выбирают их.
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других технически подкованных пользователей Stack Exchange? Ознакомьтесь с полным обсуждением здесь.
Изображение предоставлено: Martin Voltri (Flickr)