На что влияет тип памяти и стоит ли его учитывать при выборе смартфона?
Содержание:
- root, да не тот
- Сравнение eMMC и SSD
- Write Reliability
- Сходства eMMC и SSD
- Патченный adbd
- Инструкция как снять образ с Android
- Чем отличается eMMC и SSD
- Высокая сложность: поврежденная или не загружаемая система
- Что такое хранилище eMMC и как оно работает?
- Как восстановить системный раздел?
- Особенности программирования eMMC
- В чем разница между eMMC и другими устройствами хранения?
- How Does Flash Memory Work?
root, да не тот
Первое, что я сделал это использовал dirtycow по прямому назначению — подменил , который задал UID/GID в 0 (тоже самое делает su). Однако монтировать файловую систему я не мог, даже tmpfs. Загружать модули ядра я тоже не мог. Просматривать dmesg — нет. Я даже не мог просматривать директории, которые имели права 700 и принадлежали другим системным пользователям. Я мог лишь читать и писать в блочные устройства, а просмотр файлов или директорий был возможен благодаря заданию UID/GID определенного пользователя (написал свой велосипед — аналог su, который мог задавать selinux context и пользователя/группу).
Первым делом я сделал дамп всей прошивки, boot и recovery:
Изучить дамп можно утилитами и . Команда создает виртуальное блочное устройство, доступное по пути . С ним можно работать как с любым другим блочным устройством. Дампы разделов boot и recovery распаковал утилитой .
Потом попробовал записать в recovery , проверить и сразу восстановить из дампа.
Раз я мог писать в блочные устройства, значит я мог записать custom recovery. Нашел TWRP от Brigadier, прошил в recovery и перезагрузился в него . TWRP я не увидел, а лишь иконку Android’а с восклицательным знаком. Так выглядит стандартный recovery, а значит TWRP не прошился.
Перезагружаюсь в обычный режим, запускаю эксплойт, проверяю hash recovery раздела — hash соответствует оригинальному. Пробую записать данные опять — hash поменялся! Вспоминаю про page cache, чищу () — hash старый. Т.е. всё, что я пишу в блочное устройство улетает без ошибок в /dev/null и иногда оседает в Linux cache. Но обновление прошивки ведь как-то происходит? И пользовательские данные как-то записываются во внутреннюю память. Надо копать дальше.
Сравнение eMMC и SSD
Несмотря на наличие той же NAND-памяти в SSD-накопителях, их отличие от eMMC значительное. В первую очередь, в твердотельных дисках находится больше чипов памяти, качество которых существенно выше, а по итогу — скорость работы и производительность намного выше. Также в SSD есть контроллер со своей прошивкой, что дает некоторые особенные возможности. Например, операции чтения и записи осуществляются по всем чипам, а не на одном.
Твердотельный диск можно расценивать как RAID-массив из NAND-чипов, которые используются параллельно для ускорения выполнения процессов. Так, при записи видео переносит данные на несколько чипов за подход. При той же операции на eMMC запись происходит с одним чипом, что в разы увеличивает время ее выполнения.
Накопитель SSD подключается к ПК с помощью SATA, mSATA и PCIe, что, в основном, и влияет на пропускную способность. Несмотря на интеграцию eMMC в материнскую плату, скорость передачи данных ощутимо ниже. В ней нет своей прошивки и кучи чипов высокого качества. Это говорит только о том, что она уступает SSD.
Объемы eMMC бывают разные. Редко встречаются чипы на 256 ГБ, это при текущих 1 ТБ на SSD. Это обусловлено ее строением: eMMC показывает эффективный результат при работе с файлами небольшого объема, поэтому для таких целей нецелесообразно будет устанавливать диск такого формата. Стоит учитывать, что встроенный в материнку чип нельзя улучшить или заменить. Зато практически во всех ноутбуках есть возможность извлечь носитель SSD или HDD и заменить его на новый (кроме случаев распайки SSD на материнке).
Положительной стороной такой ситуации является долговечность eMMC, которая зависит от длительности жизненного цикла управляющего устройства.
В целом, такой тип памяти не является плохим, как и, например, HDD-накопитель. Будучи альтернативным решением дорогим дискам, eMMC ожидаемо работает несколько хуже них, даже если это будет самая дорогая память eMMC против любого твердотельного носителя.
Выбирая компьютер с распаянным чипом памяти, главное внимание будет направлено на стоимость. В этом случае необходимо учитывать задачи, которые будут на нем выполняться: если это веб-серфинг, управление мультимедиа-контентом или работа с документами, то eMMC хватит с головой
Но в случае необходимости хранить файлы большого объема, стоит выбирать HDD или SSD, в зависимости от дополнительных нужд.
Write Reliability
Write reliability is a configuration that affects what happens to data during an unexpected power-cut. When it is enabled, write operations are atomic at the eMMC level and after an unexpected power-cut data is either old or new, but never undefined. To check if it’s on by default you can use the U-Boot command:
From the command above, notice on the line that the WRREL means write reliability is on. If you want to change such configuration, refer to the section .
Note: For a better understanding of reliable write on Micron eMMC devices, browse Micron’s website for the technical note TN-FC-27 — e.MMC Power Loss Data Integrity
Notice that Micron eMMCs have reliable write and partition protection features, which they claim to have the same level of protection.
Note: Following information is from a Colibri iMX6S 256MB IT V1.1A with embedded Linux BSP 2.8b5.
For Micron eMMCs, TN-FC-27 has a plot of sequential write performance against chunk size, comparing the results for enabled and disabled partition protection. As expected, when protection is enabled the performance is worse. The chunk size range in which it is worst is between 32KB and 256KB. In addition, the same document states in its conclusion that «a sequential write with partition protection enabled has much better performance than a sequential reliable write».
Write reliability enabled (default):
Write reliability disabled:
Сходства eMMC и SSD
И в памяти eMMC, и в накопителях SSD для хранения данных используются чипы NAND. Соответственно, при работе с eMMC, так же, как и с SSD, процедура чтения производится гораздо быстрее, чем процедура записи данных. И каждая флэш-ячейка также должна быть очищена перед тем, как в нее можно будет записать новые данные. Кроме того, как и в случае с накопителями SSD, стирание информации из ячеек в eMMC происходит гораздо медленнее, чем запись в пустую ячейку.
Эти сходства и обуславливают применение в технологиях хранения eMMC аналогичных механизмов повышения долговечности (регулирование уровня износа) и производительности (избавление от пустых ячеек через их удаление в фоновом режиме). Однако, в отличие от накопителей SSD, во многих контроллерах eMMC удаленные данные исчезают не мгновенно, вероятно, из-за отсутствия механизма параллельной работы с несколькими ячейками одновременно. В некоторых случаях удаленные данные остаются на носителе даже после выполнения команды TRIM; ячейки удаляются еще позже. Кроме того, в отличие от SSD-накопителей, многие контроллеры eMMC НЕ «обнуляют» ячейки, содержащие удаленные данные, до удаления самих ячеек. Таким образом, удаленные данные еще какое-то время остаются на носителе, а это значит, у специалиста по восстановлению данных всегда есть реальная возможность вернуть необходимые файлы.
Патченный adbd
Т.к. мне надоело иметь доступ к урезанной консоли Android, а патчить бинарник adbd мне лень, то я решил собрать свой adbd с блэкджеком и шлюхами. Для этого пришлось скачать 70 Gb исходников Android, чтобы не возиться с каждой зависимостью по отдельности. Убрал проверку при которой происходит урезание capabilities, скомпилировал, подменил и получил полноценную root консоль. Теперь я могу монтировать файловые системы, смотреть dmesg без отключения dmesg_restrict, спокойно просматривать и редактировать файлы, которые не принадлежат root и многое другое. Но я пока не могу монтировать раздел и загружать модули в ядро.
Кстати, этой процедуры можно избежать, скомпилировав lsh и подставить его путь в . Желательно обернув запуск lsh в скрипт, который задаёт environment, иначе придется задавать полный путь к каждой команде.
Инструкция как снять образ с Android
- Подключите устройство Android к ПК
- Запустите программу ADB RUN и перейдите в меню (a) Adb
Узнаем /dev/block разделов
Что такое /dev/block/? /dev/block/ — это «диски» на которых находятся разделы system, data, cache.
Вариант 1
Данный способ самый простой, но к сожалению узнать, где находиться ядро не возможно.
Для того чтобы узнать /dev/block/ вводим команду:
Получаем список, где видим список с нашими разделами и к каким /dev/block/ они примонтированы
Вариант 2
Подключаем Android к компьютеру в adb вводим:
adb sheell su ls -l /dev/block/platform/*/by-name
Получаем весь список блоков.
Снятие образа Android с выбранного раздела
И так когда мы уже знаем где находятся какие разделы, можно приступать к снятию образа Android (дампа) с выбранного раздела. Перед тем как начать убедитесь что у вас достаточно много свободной памяти на карте памяти!
- Для того чтобы снять образ необходимо в ADB RUN зайти в меню (7) Manual Command > (1) Adb
- Залогиниться в терминале под Root -ом:
su
3. Набрать linux команду для снятия дампа:
- где XXXXXXXXX — раздел с которого вы снимаете
- где NAME_razdel.img — имя которое вы присвоите при снятии образа с выборного раздела (давать имена лучше также как они указаны, если data то data)
Процедура снятия может занять определенное время, от 1 минуты до 15, в это время лучше не дергать ваш Android!
В новых версиях ADB RUN появилась возможность быстро снять образ каждый раз не набирая столь длинные команды. Все что вам нужно это знать имя блока.
Когда вы уже знаете необходимый блок, перейдите в ADB RUN:
- С главного меню в раздел Backup -> Backup dev/block
- Выбираем Backup
- Указываем последние данные с блока (данные после block/)
- Ждем пока снимется образ (не трогать Android)
Восстановление раздела из созданного образа Android (дампа раздела)
Когда вам будет необходимо выполнить восстановление из ранее созданного образа, нужно сделать вот, что:
Убедитесь что образ все еще находиться в разделе /sdcard — так как бекап создавался именно в этот раздел, либо переместите его обратно.
Прописать следующую команду:
- где XXXXXXXXX — раздел на которой вы заливаете образ
- где NAME_razdel.img — имя образа выборного раздела (давать имена лучше также как они указаны, если data то data)
Процедура восстановления может занять определенное время, от 1 минуты до 30 в это время лучше не дергать ваш Android!
Особенно актуально для тех кто не удачно выполнил S-OFF (или планирует выполнить) или неудачно прошил кастомную прошивку, либо после не удачных экспериментов!
Для устройств Sony, HTC, Xiaomi и других устройств на которых есть режим Fastboot могут выполнить восстановление следующим образом после ранее обязательного снятия boot.img (zImage) и system.img (factoryfs.img) скопируйте данные образы на ПК:
- Переведите Android в режим fastboot (bootloader) и подключить к ПК;
- Файлы boot.img и system.img переместить в папку C:/adb_run/bin;
- Запустить ADB RUN и перейти в пункт (a) ADB;
- Набрать следующие команды (подробно о Fastboot):
Система будет восстановлена в исходное состояние! Можете продолжать эксперименты!
На этом все! Подписывайтесь и Оставайтесь с сайтом Android +1! Удачи!
Чем отличается eMMC и SSD
Хотя в твердотельных SSD-накопителях используются похожие компоненты (те же чипы NAND-памяти), разница между eMMC и SSD очень большая. Во-первых, в SSD установлено больше чипов памяти, а их качество значительно выше. Результат – выше скорость и производительность. Во-вторых, в SSD-дисках также используется контроллер с собственной прошивкой, что открывает дополнительные способности. К примеру, SSD-контроллер может распространять операции по считыванию и записи по всем чипам памяти, а не только на одном. В каком-то смысле SSD-накопитель – это как RAID из нескольких чипов NAND-памяти. Он использует множество параллельных чипов для увеличения скорости выполнения процедуры. Когда вы записываете фильм на SSD, контроллер может переносить информацию на десяток чипов за раз. При этом запись этого же фильма на eMMC-память с одним чипом может занять в несколько раз больше времени.
Кроме того, SSD-диск подключается к компьютеру по интерфейсам SATA, mSATA и PCIe, за счет чего достигается большая скорость передачи данных (подробнее о типах памяти и подключения SSD-накопителей можете почитать в статье «Как выбрать SSD для компьютера»). Хотя eMMC-память и распаяна на материнской плате, ее пропускная способность гораздо ниже. Также eMMC не может похвастать собственной прошивкой, несколькими чипами или их высоким качеством. Это не значит, что такая память плохая, но она гораздо хуже SSD. Считайте eMMC своего рода распаянной на материнке SD-карточкой, к которой прикрутили контроллер для загрузки записанной на нее операционной системы.
eMMC-память обычно устанавливается в небольших объемах, вроде 32 или 64 Гб. Бывают и варианты на 128 Гб, тогда как SSD-накопители в ноутбуках или планшетах нынче могут превышать лимит в 1 Тб. Такая компоновка объясняется принципом ее строения. eMMC-память лучше работает с небольшими файлами, поэтому нет смысла встраивать в компьютер большой накопитель подобного формата. Также учтите, что в отличие от SSD, eMMC не предусматривает апгрейд в принципе. В подавляющем большинстве ноутбуков вы легко можете вынуть из устройства накопитель (будь то жесткий диск или SSD) и заменить его на более объемный, более быстрый и так далее (за исключением планшетов и ноутбуков, где SSD распаян на материнской плате). В случае с eMMC вы получаете один накопитель на весь жизненный цикл устройства, без любой возможности что-то улучшить. Позитивной стороной такого решения является живучесть памяти. Грубо говоря, ваше устройство может трижды сгнить, а память все еще будет работать.
В eMMC в принципе нет ничего плохого, как и нет ничего плохого в обычном HDD-диске. Но, как и любое другое компромиссное решение, сделанное в целях экономии, eMMC работает хуже более дорогих вариантов. Вам надо понимать, что даже самая быстрая eMMC-память будет работать гораздо медленнее SSD-диска.
Конечно, при выборе компьютера с eMMC главным вопросом будет стоимость. Но вам надо также учитывать свои потребности и особенности работы. eMMC будет нормально справляться с казуальными и несложными задачами, вроде браузинга, просмотра медиа, и каких-нибудь офисных документов. Для хранения больших файлов понадобится уже SSD или HDD, хотя бы из-за соображений доступных объемов.
Производители компьютеров указывают в спецификациях устройства тип памяти, поэтому всегда обращайте на это внимание, чтобы потом не удивляться медленной скорости работы компьютера. Кроме того, мы рекомендуем вам ознакомиться с обзорами и тестами выбранной модели с eMMC, поскольку память памяти рознь
Разные производители используют разные чипы памяти, поэтому даже при одинаковых объемах одна eMMC-память может быть значительно быстрее другой.
Плюсы eMMC-памяти:
- Очень дешевая, за счет чего снижается стоимость устройства.
- Надежная.
- Компактная и не требует много места внутри устройства.
Минусы eMMC-памяти:
- Небольшие объемы (в уникальных случаях до 128 Гб).
- Сравнительно медленная.
- Нет возможности апгрейда.
Надеемся, эта статья поможет вам при выборе компьютера или ноутбука и вы сделаете разумную, осознанную покупку, которой останетесь довольны.
Высокая сложность: поврежденная или не загружаемая система
Самый сложный (но все же оставляющий неплохие шансы вернуть ваши файлы) случай — это поврежденная файловая система или ситуации, в которых Windows не загружается вообще.
Только представьте, что на плату припаян носитель eMMC. Его нельзя снять и подключить к другому компьютеру. И вы ДОЛЖНЫ как-то загрузить систему на том же устройстве, с которого собираетесь восстановить данные. Сложно? Но решаемо!
Если вы не можете загрузить Windows, и у вас есть важные файлы, находящиеся на устройстве eMMC (особенно если эти файлы были удалены и / или если вы отформатировали диск или переформатировали хранилище), самое худшее, что вы можете сделать, – это просто восстановить Windows. Конечно, система в итоге загрузится, и устройство будет работать, однако исходные файлы, скорее всего, будут потеряны.
Вместо этого подумайте над самостоятельным созданием загрузочного диска для восстановления. Существует множество программ и руководств, которые помогут вам это сделать, некоторые из них даже предоставлены самой компанией Microsoft (например, эта статья: «Создать установочный диск для Windows 8.1» или эта, если ваша система работает нормально, но вы хотите позаботиться о безопасности данных заранее: https://windows.microsoft.com/en-us/windows-8/create-usb-recovery-drive).
Вы сможете выполнить загрузку системы с отдельного носителя для восстановления, получив доступ к UEFI BIOS на своем устройстве и разрешив загрузку с внешнего носителя.
В таком варианте вы сможете загрузиться в так называемом режиме восстановления. А в этом режиме – запустить средство восстановления данных, например, RS Partition Recovery, и извлечь ваши файлы с системы eMMC-диска.
Что такое хранилище eMMC и как оно работает?
Хранилище eMMC (встроенная MultiMediaCard) — это форма внутренней памяти, состоящая из контроллера и флэш-памяти NAND, которые расположены в одной интегральной схеме. Чипы памяти eMMC обычно встроены в материнскую плату данного устройства. Контроллеры, размещенные в микросхемах eMMC, имеют возможность помещать данные в хранилище, что согласно SearchStorage, позволяет CPU устройства сохранять свою уже ограниченную скорость и мощность для других вычислительных задач. Кроме того, использование eMMC флэш-памяти NAND также практически не требует питания устройства для хранения данных.
Неудивительно, что тот факт, что микросхемы eMMC могут работать практически без энергии, потребляемой их устройствами, идет рука об руку с тем фактом, что микросхемы eMMC обычно встречаются в ПК и мобильных устройствах, которые имеют ограниченную мощность, производительность и скорость; особенно по сравнению с более дорогими, полнофункциональными ноутбуками. Фактически, вы обычно найдете чипы eMMC в компактных/бюджетных ноутбуках, Chromebook, планшетных ПК, 2-в-1 и даже в смартфонах и планшетах.
Какие выводы можно сделать из тестирования? Производительности eMMC достаточно для повседневных задач. Выше я писал, что вы упретесь в производительность процессора и в объем оперативной памяти, ведь eMMC устанавливают только на дешевые ноутбуки, на более дорогих моделях есть полноценные HDD или SSD, которые в большинстве случаев можно апгрейдить.
Под каждую задачу свой накопитель. Если вам нужен универсальный накопитель на 1 Тб, то оптимальным выбором будет Westen Digital Blue на 1 терабайт.
В качестве накопителя под систему лучшим выбором будет Samsung Evo 860 на 250 гигабайт. Это оптимальный выбор. 128 гигабайт вам может не хватить, тем более в Windows 10 после форматирования из-за особенности файловой системы NTFS вам будет доступно примерно 110 гигабайт, а после установки Windows 10 всего 90 гигабайт.
Как восстановить системный раздел?
Восстановить системный раздел на Андроид непросто. Перед тем, как приступить к реанимации аппарата, нужно заранее сделать резервную копию. Это можно осуществить при помощи соединения телефона к компьютеру через USB-кабель.
Если резервная копия имеется, то сделайте следующее:
- В заводском режиме выберите пункт «Clear eMMC/wipe data/factory reset».
- Будет представлен список точек восстановления. Укажите нужную. Рекомендуется выбирать предпоследнюю или последнюю. Нажмите кнопку «Power» для подтверждения.
- Подождите пару секунд. Смартфон восстановит работу системы и переведет вас в штатный режим.
В случае отсутствия точки восстановления следуйте ниже приведенной инструкции:
- При помощи файлового менеджера (например, Root Explorer) найдите папку системного раздела. Путь: efs/FactoryApp. Там находится файл «factorymode».
- Откройте этот документ при помощи файлового менеджера. Это можно сделать с компьютера через текстовый редактор.
- Найдите строчку с символом «ON». Это означает, что заводской режим включен.
- Поменяйте значение на «OFF». Обязательно сохраните изменения.
- Скопируйте файл на смартфон, если операция проводилась с ПК.
- Перезагрузите телефон.
После этого аппарат перейдет в штатный режим.
Важно помнить, что проводить операции по восстановлению телефона не рекомендуется. Пользователь должен иметь четкие представления о заводском режиме
Появление Factory Mode не всегда является плюсом, поскольку это может быть системное повреждение смартфона. При правильном использовании режима существует возможность проведения тестов для проверки качества работы устройства.
Особенности программирования eMMC
Память eMMC (embedded MultiMediaCard) – это не просто микросхема памяти, это твердотельный накопитель со встроенным контроллером, конструктивно выполненный в виде микросхемы. Внутри eMMC представляет из себя блок микросхем NAND памяти с управляющим контроллером. Такое решение очень приглянулось разработчикам аппаратуры, поскольку встроенный в eMMC микроконтроллер скрывает все тонкости работы с NAND, связанные с исправлением ошибок и управлением плохими блоками. Кроме того, интерфейс eMMC полностью совместим с «внешними» накопителями: MMC картами. Именно благодаря компактным размерам и удобствам применения накопители eMMC широко используются в самой разной аппаратуре.
Особенностью eMMC памяти является:
- Очень большой объем хранимых данных.
- Стандартизованный физический и логический интерфейс (спецификация JEDEC Embedded Multi-Media Card).
Фактически eMMC является периферийным устройством хранения информации.
Микросхемы eMMC могут работать в нескольких режимах шины данных. Режимы отличаются лишь скоростью передачи данных. Самый медленный: 1-bit bus (однобитный режим), однако в этом режиме наиболее удобно читать и записывать микросхему внутрисхемно, не выпаивая ее из аппаратуры. Поскольку микросхемы eMMC выпускаются в корпусах типа BGA, то режим внутрисхемного программирования может оказаться весьма привлекательным не смотря на значительно более низкую скорость.
Программатор ChipStar-TAU поддерживает как внутрисхемное программирование eMMC, так и более быстрое программирование в панельке программатора. Кроме того, поскольку логический интерфейс микросхем eMMC полностью стандартизован, возможно программирование любых заранее неизвестных программатору микросхем eMMC. Используя процедуру самостоятельного добавления микросхем легко сконфигурировать программу для чтения/записи любой eMMC микросхемы.
В чем разница между eMMC и другими устройствами хранения?
1. Разница между eMMC и HDD (жесткий диск)
eMMC работает медленнее некоторых и быстрее некоторых устройств. Если говорить о наиболее часто используемых жестких дисках, то eMMC работает быстрее, чем жесткие диски. Однако HDD имеет больший размер, чаще всего используется 1 ТБ (1024 ГБ). Размер хранилища eMMC невелик и не может содержать большие данные, поэтому он лучше работает с небольшими файлами, а не с большими. eMMC припаяна непосредственно к материнской плате и не подлежит замене, однако вы всегда можете изменить жесткий диск для увеличения размера.
2. Разница между eMMC и SSD (твердотельный накопитель)
Когда мы говорим о eMMC и SSD, они оба работают по принципам NAND. Однако между ними много различий. SSD — это тип твердотельного накопителя, тогда как eMMC — это тип флэш-памяти. eMMC в основном используется для временного хранения, а SSD — для постоянного хранения. Скорость передачи и объем памяти SSD намного больше, чем у eMMC. Когда дело касается шлюзов NAND, у eMMC есть только один, тогда как у SSD, как правило, их больше одного. eMMC будет припаян на материнскую плату, а SSD будет подключен через интерфейс SATA. Оба сделаны из разных компонентов.
3. Разница между eMMC и UFS (универсальным флэш-хранилищем)
eMMC и UFS оба используются в наших смартфонах в качестве хранилища. Обе удалось увеличить скорость с их последними версиями. Однако eMMC все еще не хватает скорости по сравнению с UFS. Последние UFS в наших смартфонах аналогичны твердотельным накопителям в отношении скорости и пространства. Тем не менее, некоторые бюджетные телефоны по-прежнему будут использовать eMMC для предоставления новейших технологий с низким бюджетом хранения. UFS использует дуплекс, который обеспечивает операции чтения и записи одновременно. eMMC является полудуплексом, который выполняет только одну операцию за раз, будь то запись или чтение.
Appuals.com является участником партнерской программы Amazon Services LLC, и мы получаем комиссию за покупки, сделанные по нашим ссылкам.
How Does Flash Memory Work?
Flash memory stores data in an array of cells, and each cell holds at least one bit of data. The cells are organized into blocks, where a block is defined as a contiguous set of bytes that form an identifiable unit of data.
A block is the smallest programmable/erasable portion of the array. The blocks are written to by electrical charge, with each cell either representing a 1 or a 0 number.
When all of the blocks are considered together, they form a memory chip. The chip is mounted on a printed circuit board, which also includes a basic controller and a USB interface.
NAND itself is raw flash memory and uses its own protocol. Designs that implement NAND—such as SD cards and solid-state drives—often add microcontrollers on top to implement a Flash Translation Layer (FTL). The FTL translates your disk usage (for example, via USB) into meaningful NAND operations.