Проверка emmc памяти программа

Обновлено: 04.07.2024

Лог детакта eMMC, базовая информация о eMMC.

В настройках eMMC_Tool есть галочка "Shot info about eMMC in log". Данная настройка позволяет выводить только основную информацию в логе детекта eMMC.

Первые строки позволяют понять, есть ли физический контакт по линии CMD, которая служит основной линией передачи команд в eMMC.

Т.к. eMMC имеет 2 напряжения, VCC (собственно питание микросхемы) и VCCQ (или VIO - напряжение линии ввода-вывода), то интерфейс обмена eMMC работает с логическими уровнями VCCQ. Поэтому важно, чтобы в интерфейсе программы было выставлено напряжение VIO равное напряжению на адаптере eMMC, обычно это 1,8v.

Тем не менее, при нестабильности коннекта можно увеличить VIO в программе, это позволит за счет перетока тока из бокса в интерфейс eMMC улучшить коннект с проблемным подключением. Настоятельно не рекомендуется повышать больше чем на 1 шаг или ставить ниже реального VCCQ.

Теперь становятся понятным следующие 2 строки:
CMD Active Level: - уровень напряжение линии CMD, которое ожидает бокс;
CMD Pullup Level: - уровень сигнала, которое отдает микросхема.

Если CMD Pullup Level занижено ( 500-800mV ), это значит обычно отсутствие PullUp резисторов между линией CMD и VCCQ в интерфейсе подключения eMMC, и это значит, что возможны ошибки детекта или работы с eMMC.
Если CMD Pullup Level сильно занижено ( 100-300mV ), это скорее всего значит, что линия CMD закорочена на землю.

Дальше в логе выводится CID, CSD, потом идет расшифровка CID - из него выделяется для наглядности Brand eMMC (Samsung), eMMC NAME (M8G2FB), Serial Number (S/N: D31CE4AC), версию прошивки firmware eMMC (rev.00).

Дальше выводятся размеры ROM1, ROM2, ROM3, RPMB. Т.к. размеры ROM2/3 всегда одинаковы, они выводятся одной строкой.

Одной из важных строк является версия ExtCSD, которая показывает поколение eMMС, а точнее - стандарт команд, который она поддерживает. При замены eMMC в аппарате нужно знать, что в большинстве случаев более новую eMMC нельзя заменить более старой.

Для того, чтобы в процессе работы с eMMC были видны основные ее параметры, они дублируются над логом одной строкой или по нажатию на кнопку под ней в расширенном виде с расшифровкой.

В первой строке выводится краткая информация: EMMC Brand, NAME, информация о разделе загрузки (boot from, являющегося расшифровкой регистра 179 ExtCSD, кол-во линий data по которым передается boot, записанное в регистре 177 ExtCSD (bus config).

В расширенном варианте также отображаются цифровые значения регистров 179/177 ExtCSD, значение регистра 162 ExtCSD с расшифровкой.
Кроме этого выводится значение регистра конфигурации [PARTITION_SETTING_COMPLETED], 0x01 в котором означает, что раздел ROM1 окончательно сконфигурирован, и создание в нем или изменение разделов GP1-GP4 невозможно.

Последняя строка - значения регистров ExtCSD, которые показывают выставлен ли режим RO (ReadOnly - только чтение) в eMMC.
Temporary Write Protection это временный флаг, который можно легко снять, он выставляется во время загрузки Boot в аппаратах Lumia (и может еще где-то).
Permanent Write Protection выставляется eMMC при ее длительном износе, и говорит обычно о том, что срок службы eMMC пришел к концу.

В расширенном варианте лога выводится еще строка информация по регистру ExtCSD [PARTITIONING_SUPPORT], который отображает возможности eMMC к созданию дополнительных разделов GP1-GP4, битовый регистр, может иметь значения 0x00, 0x01, 0x03, 0x07. Из них 0x00 означает, что микросхема не поддерживает создание GP1-GP4, остальные значения связаны с вариантами конфигурирования GP1-GP4, чем больше значение тем больше опций при создании этих разделов поддерживает eMMC.


Частично или полностью неисправные eMMC.

Признаки плохого контакта eMMC в сокете или же полной неисправности eMMC являются строки:

Can't init device. Reason: CMD Timeout Error
Can't init device. Reason: OCR Ready Timeout Error [Check VCC or eMMC DEAD]
Can't init device. Reason: CARD is Password Locked
EMMC Password Locked: Yes

У полуживых микросхем в CID выдается информация, которая говорит о том, что микросхема находится в boot-режиме.

примеры:
Sandisk:
EMMC NAME: SDM 032 , S/N: FFFFFFFF , rev. 90
EMMC ROM 1 (Main User Data) Capacity: 30 MB (000001E9C000)

Hynix:
EMMC NAME: M MOR , S/N: 00000000 , rev. 00
EMMC ROM 1 (Main User Data) Capacity: 128 MB (000008000000)

FORESEE
EMMC NAME: , S/N: FFFFFFFF , rev. FF
EMMC NAME (HEX ): 000000000000

Samsung
EMMC NAME: 000000 , S/N: 20110726 , rev. 56
EMMC NAME (HEX): 303030303030

Признаком boot-режима eMMC Samsung является eMMC NAME 000000, и rev.0x56. Так же выглядит запуск eMMC Samsung используя TP (test-point). В eMMC Samsung до MMC rev 5.0 (и в некоторых rev 5.0), чаще всего можно восстановить прошивку eMMC, но это не всегда гарантирует, что она после этого долго проработает (зависит от причины, по которой она оказалась в boot).

Для других eMMC, кроме перечисленных Samsung, восстановление firmware eMMC (вывод из boot) пока не предоставляется возможным. При этом нужно учитывать что Hynix и Sandisk падают в boot при значительном износе ячеек памяти, что значит, что долго они работать после возможного восстановления не будут.

автор темы

Аватар для schemu

Подготовка eMMC для установки в устройство.

Большинство замен eMMC производится на мобильных телефонах и планшетах. И возникает вопрос, что нужно прошить в eMMC, чтобы после её установки в плату мы получили бы или полностью работоспособное устройство, или же, чтобы хотя бы иметь возможность подключить устройство к компьютеру-ноутбуку, чтобы устройство "отдетектилось" как USB устройство.

Тема достаточно широкая, поэтому начнем с простых вещей.

Первое и основное, в микросхему eMMC необходимо записать Boot config
Boot config представляет собой 3 регистра extCSD:
1) Boot Partition [179] - регистр, который указывает, в каком разделе eMMC находится boot для загрузки
2) Bus Config [177] - ширина шины данных, и режим загрузки
3) H/W Reset Function [162] - режим управление выводом RST eMMC ( если должен быть 0x01 , то надо выставить, если не должен быть 0x01 - не имеет значения, 0x00, 0x01 или 0x02 ).

Есть 4 способа это сделать:
1) из файла extcsd, сохранённого с такого же устройства;
2) из файла extcsd, сохранённого с такого же устройства, во время прошивки eMMC;
3) с помощью предустановленных вариантов;
4) вручную.


Вариант 1:


Вариант 2:


Вариант 3:


Вариант 4 (для экспертов):

при BackUp прошивок через "Read by vendor" в папку сохраняется extcsd, и в файле xxxxxxxxxxx_info.txt сохраняется Boot config в таком виде:

Boot configuration [PARTITION_CONFIG: 0x00] No boot partition configured.
Boot bus config [177]: 0x00 , width 1bit , Partition config [179]: 0x00
H/W reset function [RST_N_FUNCTION]: 0x01

где:
Boot configuration [PARTITION_CONFIG: 0x00] - расшифровка регистра 179 - раздел загрузки
Partition config [179]: 0x 00 - значение регистра 179
Boot bus config [177]: 0x 00 - значение регистра 177
H/W reset function [RST_N_FUNCTION]: 0x 01 - значение регистра 162

Из extcsd можно записать Boot config с помощью Repair Extcsd -> Only Boot config

Для сокращения в дальнейшем употребляем Boot config 0x 48 ,0x 00 ,0x 01 значит значения регистров соответственно 179, 177, 162

Для того чтобы получить соединение с компьютером для последующего восстановления устройства с помощью ПО компьютера для устройствами на базе процессоров:
1) Mediatek (MTK) ( Boot config: 0x48,0x00,0x01 )
- записать Boot cfg, и стереть eMMC (устройство определится как MTK USB Port );
или
- записать Boot cfg, и записать "Preloader" в ROM2(3) через "Write by vendor" (устройство определится как MTK Virtual VCOM Port );
или
- записать Boot cfg, и записать сохраненный бекап ROM2(3) через "eMMC General" - "Write ROM" (устройство определится как MTK Virtual VCOM Port ).

В дальнейшем большинство устройств на процессорах MTK программируются (прошиваются) компьютером через родной FlashTool для MTK.

2) Intel . У Intel есть устройства с разделом GP1 и есть без него. ( Boot config: 0x00,0x00,0x00 )
- записать Boot cfg, и стереть eMMC (устройство определится как CloverView Device или другое). В этом варианте в дальнейшем потребуется записать загрузчик с помощью утилиты xfstk и дальше согласно инструкциям;
или
- записать Boot cfg, создать (при необходимости) раздел GP1, и записать в eMMC: ROM2, ROM3, GP1, и минимум примерно 300-500MB бекапа ROM1 для разных моделей. В данном варианте устройство сможет загрузится в DroidBoot , откуда его можно прошить прошивками через компьютер.

3) Qualcomm , ( Boot config: 0x00,0x00,0x00 ), ( Boot config: 0x38,0x00,0x01 )
- записать Boot cfg, и стереть eMMC (устройство определится как HS QD9008 Loader ). Для многих устройств есть сервисные прошивки для QPST в формате bin/xml, с помощью которой можно в дальнейшем восстановить устройство.
или
- записать Boot cfg, и записать часть прошивки (bootloaders, boot, recovery) через "Write by vendor - Qualcomm/Samsung", чтобы получить устройство, запускающеюся в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту;
или
- записать Boot cfg, и записать начало дампа ROM1 (100-500MB), в которых содержатся bootloaders, boot, recovery и другие необходимые разделы для запуска устройства в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту.

4) Exynos , ( Boot config: 0x48,0x01,0x00 )
- записать Boot cfg, и стереть eMMC, в дальнейшем такой аппарат можно восстановить только с помощью специально подготовленной SD карты под конкретное устройство;
или
- записать Boot cfg, и записать часть прошивки (bootloaders, boot, recovery) через "Write by vendor - Samsung", чтобы получить устройство, запускающеюся в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту;
или
- записать Boot cfg, записать ROM2 и записать начало дампа ROM1 (100-500MB), в которых содержатся bootloaders, boot, recovery и другие необходимые разделы для запуска устройства в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту.

5) HiSilicon , ( Boot config: 0x08,0x02,0x01 )
- записать Boot cfg, и записать часть прошивки (bootloaders, boot, recovery) через "Write by vendor - HiSilicon", чтобы получить устройство, запускающеюся в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту;
или
- записать Boot cfg, записать ROM2, начало дампа ROM1 (100-500MB), в которых содержатся bootloaders, boot, recovery и другие необходимые разделы для запуска устройства в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту.

6) SpreadTrum , ( Boot config: 0x08,0x00,0x01 )
- записать Boot cfg, записать дампы ROM2/3 (содержащие загрузчики (bootloaders)), записать (необязательно) начало дампа ROM1 (100-500MB), в которых содержатся boot, recovery и другие необходимые разделы для запуска устройства в Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту.

7) Broadcomm , ( Boot config: 0x00,0x00,0x00 )
- записать Boot cfg, и записать часть прошивки (bootloaders, boot, recovery) через "Write by vendor - Qualcomm/HiSilicon", чтобы получить устройство, запускающеюся в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту;
или
- записать Boot cfg, записать ROM2 и записать начало дампа ROM1 (100-500MB), в которых содержатся bootloaders, boot, recovery и другие необходимые разделы для запуска устройства в FastBoot/Recovery и в дальнейшем записать в него прошивку через компьютер или SD карту.

В нашем блоге мы часто пишем о восстановлении информации с дисков SSD. Недавно мы опубликовали статью о восстановлении информации с гибридных жестких дисков, которые совмещают в себе большой традиционный магнитный жесткий диск с маленьким, но очень быстрым SSD. Однако до сих пор мы не упоминали в своих публикациях о еще одном классе носителей, известных как «eMMC».

Восстановление eMMC памяти телефона

Содержание:

Что такое eMMC?

eMMC – это тип твердотельных накопителей, обычно используемых в смартфонах и планшетах. Аббревиатура eMMC – это сокращение от «встроенная MMC» или «встроенная мультимедийная карта». Проще говоря, eMMC – несъемная карта памяти, которая припаивается к монтажной плате. И если вы видите телефон с памятью 16 ГБ, это 16 ГБ именно хранилища eMMC. Аналогично, если вы покупаете планшет, ультрабук или нетбук, скорее всего, он будет оснащен встроенным хранилищем eMMC вместо полнофункционального накопителя SSD.

eMMC и SSD: в чем отличие?

Основное отличие между памятью eMMC и накопителем SSD – это скорость работы. SSD-накопители, как правило, намного быстрее по сравнению с eMMC; в свою очередь, память eMMC намного дешевле, чем SSD-накопители аналогичного размера. Почему так?

SSD-накопители работают настолько быстро не потому, что они используют специальную ультрасовременную флэш-память. Вместо этого они просто читают и записывают данные с (или в) нескольких флэш-ячеек параллельно. Возможность одновременного доступа к данным, хранящимся в нескольких флэш-ячейках, и делает SSD-накопители такими быстрыми и такими дорогими.

В памяти eMMC этот механизм параллельной работы с несколькими ячейками отсутствует – eMMC может производить только последовательные процедуры чтения и записи. В результате лучшие модули eMMC обеспечивают последовательную скорость чтения около 100 МБ/с и скорость записи около 40 МБ/с, в отличие от SSD-приводов, обеспечивающих скорость чтения 400 МБ/с и скорость записи 150 МБ/с.

Сходства eMMC и SSD

И в памяти eMMC, и в накопителях SSD для хранения данных используются чипы NAND. Соответственно, при работе с eMMC, так же, как и с SSD, процедура чтения производится гораздо быстрее, чем процедура записи данных. И каждая флэш-ячейка также должна быть очищена перед тем, как в нее можно будет записать новые данные. Кроме того, как и в случае с накопителями SSD, стирание информации из ячеек в eMMC происходит гораздо медленнее, чем запись в пустую ячейку.

Эти сходства и обуславливают применение в технологиях хранения eMMC аналогичных механизмов повышения долговечности (регулирование уровня износа) и производительности (избавление от пустых ячеек через их удаление в фоновом режиме). Однако, в отличие от накопителей SSD, во многих контроллерах eMMC удаленные данные исчезают не мгновенно, вероятно, из-за отсутствия механизма параллельной работы с несколькими ячейками одновременно. В некоторых случаях удаленные данные остаются на носителе даже после выполнения команды TRIM; ячейки удаляются еще позже. Кроме того, в отличие от SSD-накопителей, многие контроллеры eMMC НЕ «обнуляют» ячейки, содержащие удаленные данные, до удаления самих ячеек. Таким образом, удаленные данные еще какое-то время остаются на носителе, а это значит, у специалиста по восстановлению данных всегда есть реальная возможность вернуть необходимые файлы.

Восстановление информации с дисков eMMC

Итак, выходит, что память eMMC – это в некотором роде более дешевая и медленная несъемная альтернатива SSD-накопителям, которая обычно используется в телефонах, планшетах и ультрабуках. А есть ли отличия между ними в реализации алгоритмов восстановления данных?

Технология, используемая для восстановления информации с eMMC-приводов похожа на используемую с SSD, но применяемая техника очень отличается. Память eMMC – не съемная, она припаивается к основной плате, поэтому ее практически невозможно отсоединить и подключить к другому компьютеру. Многие лаборатории для восстановления данных обладают специальным оборудованием, позволяющим напрямую подключаться к чипам eMMC, но это определенно не вариант для обычных пользователей. Поэтому, если вы собираетесь восстановить информацию с хранилища eMMC вашего нетбука или планшета, вы будете ограничены исключительно средствами, предлагаемыми вашей операционной системой. Но и в таком случае варианты есть.

Мы работаем только с устройствами Windows

Прежде чем перейти к практическому руководству по восстановлению данных с eMMC-носителей, следует отметить, что все, описанное ниже, относится только к устройствам под управлением Windows. И все это применимо к любой версии Windows, хотя большинство устройств, в которых используется память eMMC работают под управлением Windows 8.1 или чуть более старой Windows 8. Вместе с тем, надежного универсального решения для восстановления данных с существующих Android-телефонов и планшетов мы предложить не можем. Невозможно также восстановить удаленные файлы и с устройств iOS.

Восстановить удаленные файлы? Легко!

Легкая сложность: Восстановить удаленные файлы

Выполнить восстановление удаленных файлов с eMMC-носителей относительно просто. Вам нужно будет установить инструмент восстановления данных на внешнее устройство хранения, такое как карта micro-SD, если ваше устройство оборудовано выходом для микро-SD или флеш-накопителем OTG, если ваше устройство поддерживает USB on-go (OTG). Кроме того, вы можете просто установить инструмент восстановления данных на сетевой диск (создать папку на вашем стационарном компьютере и начать «совместное использование» папки, после чего она отобразится как раздел диска на планшете Windows).

Выполнение описанных выше рекомендаций – обязательное условие успешного восстановления данных. eMMC-диски обычно намного менее вместительны, чем компьютерные жесткие диски или обычный накопитель SSD. Это означает, что на них всегда доступно меньше свободной памяти, и вероятность того, что новые данные будут записаны именно в те ячейки памяти, в которых содержатся необходимые вам удаленные файлы, намного выше, чем при работе с другими носителями.

После установки на отдельный диск инструмента для восстановления данных (например, RS Partition Recovery или более простого программного обеспечения для восстановления файлов) вы можете запустить его и начать сканирование диска, как обычно. Если ваши файлы еще можно вернуть, они появятся в списке восстанавливаемых файлов. Вы можете увидеть содержимое каждого файла, просто щелкнув по нему.

Средняя сложность: возвращение к заводским настройкам или переустановка Windows

Если вы применили процедуру заводской перезагрузки для восстановления Windows или полностью переустановили систему, вы эффективно уничтожили свои личные файлы и папки. Однако, пока вы ничего не сделали с исходным разделом Windows, есть шанс, что вы сможете найти хотя бы некоторые из ваших файлов.

В этом случае вам понадобится самый лучший инструмент для восстановления данных, поддерживающий низкоуровневую обработку данных: RS Partition Recovery. Это обусловлено тем, что после полной перестановки файловая система не сохраняет и следов ваших старых файлов. Поэтому инструмент восстановления данных должен будет прочитать все содержимое хранилища eMMC для обнаружения и идентификации известных типов файлов, таких как офисные документы, изображения, архивы ZIP / RAR, электронные письма и аналогичные файлы.

При установке утилиты для восстановления данных вам необходимо соблюдать все те же, уже упомянутые меры предосторожности, используя SD-карту, флэш-накопитель OTG или сетевой диск. После этого запустите программу и выполните сканирование системы, как обычно. Если файлы будут обнаружены, вы также сможете предварительно просмотреть их, как обычно.

Высокая сложность: поврежденная или не загружаемая система

Только представьте, что на плату припаян носитель eMMC. Его нельзя снять и подключить к другому компьютеру. И вы ДОЛЖНЫ как-то загрузить систему на том же устройстве, с которого собираетесь восстановить данные. Сложно? Но решаемо!

Если вы не можете загрузить Windows, и у вас есть важные файлы, находящиеся на устройстве eMMC (особенно если эти файлы были удалены и / или если вы отформатировали диск или переформатировали хранилище), самое худшее, что вы можете сделать, – это просто восстановить Windows. Конечно, система в итоге загрузится, и устройство будет работать, однако исходные файлы, скорее всего, будут потеряны.

Вы сможете выполнить загрузку системы с отдельного носителя для восстановления, получив доступ к UEFI BIOS на своем устройстве и разрешив загрузку с внешнего носителя.

В таком варианте вы сможете загрузиться в так называемом режиме восстановления. А в этом режиме – запустить средство восстановления данных, например, RS Partition Recovery, и извлечь ваши файлы с системы eMMC-диска.

Часто задаваемые вопросы

Это сильно зависит от емкости вашего жесткого диска и производительности вашего компьютера. В основном, большинство операций восстановления жесткого диска можно выполнить примерно за 3-12 часов для жесткого диска объемом 1 ТБ в обычных условиях.

Почему некоторые файлы, после восстановления, могут не открываться?

Если файл не открывается, это означает, что файл был поврежден или испорчен до восстановления.

Используйте функцию «Предварительного просмотра» для оценки качества восстанавливаемого файла.

Как я могу проверить, можно ли восстановить мои данные, перед покупкой?

Пожалуйста, используйте бесплатные версии программ, с которыми вы можете проанализировать носитель и просмотреть файлы, доступные для восстановления.

Сохранить их можно после регистрации программы – повторное сканирование для этого не потребуется.

eMMC-накопители в ноутбуках всегда были спутниками бюджетных решений и неким компромиссом. Быстрой работы от них никто никогда не ждал. Но то было ранее, а как обстоят дела сейчас?


Я прогнал пару тестов на eMMC-накопителе в одном из компактных ноутбуков и сравнил результаты с SSD и HDD.

eMMC(embedded Multimedia Memory Card – встроенная мультимедийная карта памяти) – это одночиповый накопитель, чаще всего применяемый в смартфонах и других компактных устройствах. В нем простенький контроллер совмещен с недорогой флэш-памятью. Главные недостатки такого решения, в сравнении с SSD, это полудуплексный режим обмена данными и большие задержки. А главные преимущества – компактность, низкое энергопотребление и цена.

Что до теоретических характеристик, в 2015 году JEDEC был утвержден стандарт eMMC 5.1. Он подразумевает скорости передачи данных до 400 МБ/с (в режиме HS400). Но реальные цифры, разумеется, зависят от конкретных моделей накопителей и производителя. В нашем случае мы посмотрим на работу свежей линейки eMMC чипов от Samsung, которые обещают нам скорости чтения до 260 МБ/с, а записи до 140 МБ/с. Но это для старших моделей емкостью 256 ГБ. А у нас в руке «синица» емкостью 32 ГБ. Точнее не в руке, а в бюджетном 11-дюймовом ноутбуке Acer ES1-132.


Тесты

У меня не было цели детально изучить поведение и производительность накопителя, потому использовал лишь CrystalDiskMark 5.2.1 и AS SSD 1.9.



В целом картина весьма оптимистичная! Давайте сразу сравним результаты по тестам AS SSD 1.9 с HDD (WD Red Pro 5 ТБ WD5001FFWX), полноценным SSD среднего класса (Samsung CM871a 256 ГБ в формфакторе M.2 с интерфейсом SATA 6 Гбит/с) и бюджетным SSD ADATA SP600 128 ГБ (на диаграмме обозначен как SSD cheap).


Скорость линейного чтения у самсунговского eMMC выше, чем у механических жестких дисков. Линейная запись соответствует минимальному значению для современных HDD-накопителей, когда данные размещаются ближе к центру пластин.

Ну а в операциях с малыми блоками данных eMMC оставляет HDD далеко позади, хотя и здорово проигрывает SSD. Главная причина – разница во времени доступа.


Чем меньше значения на диаграмме – тем лучше.

В завершении – результаты встроенного в AS SSD теста копирования:


Главный вывод – современные eMMC-накопители с легкостью составляют конкуренцию HDD в плане скорости работы. Ну а пройдет еще пара-тройка лет, сравняются и по стоимости.


1. Вкладка Main
a. Подраздел Generation здесь можем выбрать тип разметки, в зависимости от проца
GPT(QC/Sams/BCM/Intel/MTK) Основной, часто встречающийся тип разметки
PMT(MTK Generic) второй тип разметки, встречается в старых МТК тушках
BCT(Nvidia) тип разметки, находяшийся в rom2/rom3 тушек на процессор Tegra
Pit(Samsung) PIT Table это собственный формат разметки самсунг, бывает GPT убита, но Pit = целый
EXT Forensic эта функция позволяет найти разделы в формате EXT2,3,4, когда разметка порушена, а раздел например с данными физически присутсвует на флешке и нужно вытянут данные
PMT(Sony) тип разметки, применяемый в старых Sony
GPT Backup -это - зеркальная копия GPT
Mstar Android поддержка ТВ android на базе процессоров Mstar
LG MTK TV поддержка тв LG на процессоре MTK
AMOLOGIC ANDROID поддержка разметки AMOLOGIC ANDROID
Empty Mode-позволит выполнять все базовые операции с носителем, кроме данных, и шить носитель

2. Вкладка Browser по умолчанию, когда с источником не сконнекчено, в ней пусто
Когда выполнен коннект с источником, тут будет 2 варианта, если разметка не опознана или ее вообще ее нет, то в дереве разделов увидим только ROM'ы или LUN'ы. Можно считать, записать, стереть, посмотреть в Hex любой из Rom или LUN
ROM1
ROM2
Rom3
Если при коннекте увиделась разметка, то увидим дополнительно дерево разделов
Синим выделена разметка и бекап разметки
Фиолетовым выделены критически важные разделы( секьюрити разделы, содержащие imei и т.д.)
Темно серым пустые разделы
Иконкой с шестеренкой показаны разделы, имеющие какие либо данные, но которые не монтируются - разделы с бинарными данными, например загрузчик, литтль кернель, рекавери, про инфо мобайл инфо нврам, модем ст, и тд
Иконкой Диска показаны разделы, которые монтируются.
Каждый раздел, можно форматнуть, стереть, считать,записать, посмотреть в HEX, которые смонтированы открыть в просмотрщике файлов а также перевести файловую раздела в режим RW при наличии лицензии EFM и удалить, записать, переименовать любой файл или папку, по окончании обратно перевести файловую в RO кнопкой Shutdown FS
Read Before Selected Partition Допустим если хотим слить дамп до юзер даты, на разделе юзердата жмем правую кнопку мышки и выбираем Read Before Selected Partition сольется дамп с нулевого адреса до начального адреса юзер даты
Multi-Selection Mode вызывается правой кнопкой мышки, можно выбрать несколько разделов, например цепочку загрузчиков и нажать Read Selected выбрав папку сохранения получим наши выбранные слитые разделы и 2 файлика Z3X_EFM_RawProgram0.xml и Z3X_EFM_Patch0.xml для последующей заливки через вкладку Flash на другую флешку или тушку в 9008
Это безумно удобно, если заливать дамп, сделанный через multi-read mode

3. Вкладка HEX Viewer HEX просмотрщик

4. Вкладка Tools
a. Lock
Android Info информация из build.prop. Если подключен источник, то информация ищется из build.prop в источнике, если источник не подключен информацию можно глянуть в заранее извлеченном файлике build.prop
Decode Gesture.key расшифровываем графический ключ, если подключен источник и юзердата не шифрована то расшифровывается граф ключ с источника, если не подключен источник, то расшифровывается извлеченный Gesture.key
Decode Android Pin расшифровываем пароль пользователя, если источник подключен
Reset User Lock сбрасываем без потери данных юзерские пароли, а также там где стоит стражник при подключенном источнике
Reset Google FRP по кнопке софт ищет раздел с сигнатурами FRP, бекапит раздел и чистит
b. FS Tools
Format Partion форматирование раздела, выведено отдельной кнопкой. Функция та же, если форматить в вкладке Browser
Change EXT Mount Point создание точки монтирования, некоторые HTC после замены памяти не загружаются, если не провести эту операцию
RUN FSCK восстановление битой файловой в разделах EXT. Требуется Лицензия
Check Dump for Empty проверка файла на пустышку. Если файл пуст, то софт напишет This File is Empty. если хоть 1 байт есть, то софт выведет адрес, по которому есть запись и остановит проверку
c. Android Wipe
Full Wipe Data ищет по имени раздел Misc, если находит - пишет туда команду вайпа для рекавери, затем ищет по имени раздела КЭШ, если находит - форматирует раздел принудительно, затем ищет по имени раздел дата/юзердата и если находит - принудительно форматирует. Команда для раздела misc - взята из цм2. Все типы Вайпов - совсем не работают на МБР, и forensic
Universal Factory Reset ищет по имени миск и Пара, если находит - пишет туда команду вайпа для рекавери.
Mtk Factory Reset ищет по имени Миск или Пара - если находит - пишет туда специфичную для МТк команду Вайпа.
Oppo Password Reset ищет по имени Миск или Пара, и пишет туда специфичную для Оппы команду вайпа для рекавери.
Действие 3х вайпов, кроме Full Wipe - легко обратить назад, достаточно стереть разделы миск/пара

Read EMMC Info выводит инфу о памяти, CID, Имя, ревизию, SN, размеры разделов, бут конфиг и минимальный раздел GP1, который можно создать на данной флешке
EMMC R/W Test вполне работоспособный тест чтения-записи
Read EXTCSD выводит инфу о бут конфиге в файл, можно сохранить куда удобно
Set Boot Config редактирование бут конфига, есть три способа. по персетам по выбранному процу, из файла extcsd , либо вручную, выбрав Custom
e. Extract Data
Extract Contacts/SMS извлечение автоматом контактов, смс, заметок, календаря, а также ватцап переписок(для ватцап переписки и конткатов с ватцап нужна лицензия)из Android устройств
Extract WP Contacts/SMS извлечение автоматом контактов, смс с WindowsPhone устройств
Extract User Files Извлечение файлов пользователя, расширение можно указать, либо все
f. MTK Preloader Parser показывает прописанные EMCP в preloader. Из последнего добавлены в поддержку preloader с прописанными bga-254
g. Sparse Tools можно распаковать или запаковать Sparse (сжатые) файлы

5. Вкладка Flash Прошивка по вендору Qualcomm в EMMC,UFS или через EDL(порт Qualcomm 9008). Чтобы функции стали активны надо подключить источник. сокет или устройство в EDL
a. Раздел Qualcomm здесь можем выбрать папку с распакованной прошивкой, нажав на значек с папкой, либо вручную выбрать rawprogram и Patch0 нажав на иконку правее
Erase Before Writing Стирать раздел перед записью
Erase Google FRP сирать FRP при прошивке
Full Erase Big Partition(S) Полное стирание больших разделов иначе если снята галка - трет только 512 мб
Forse Repartion делает всё чтож самое что rebuild gpt, только автоматом после прошивки
Verify Write/Erase Data Проверка Записи/Стирания
b. Раздел GPT Tools работа с разметкой GPT, необходима лицензия EFM
Rebuild GPT- делает всё тоже самое, что Init GPT From File только источником gpt служит начало выбранного rom/lun
Init GPT From File инит или перезапись для выбранного Рома/Лун. Можно из файла gpt_main0 или из дампа или из Фулл да без разницы. Софт берет кусок от начала файла, считает что это гпт. Проверяет сигнатуры, если верно - пересчитывает контрольные суммы, обновляет размер последнего раздела, правит поля последнего сектора и местонахождения бэкапа гпт, создаёт бэкап гпт, и пишет в выбранный ром - гпт в начало, и бэкап гпт в конец

6. Вкладка Настройки
Skip Exists Files При сохранении пропустить уже существующие файлы
Request for Closing Спрашивать подтверждение перед закрытием софта
Check Write/Erase Data Проверка Записи/Стирания
Show Less Debug Data Показывать меньше Отладочных Данных
Android FDE Check Проверка крипт не крипт юзер даты
Empty Check Проверка на пустышку разделов
Show Empty Parts on log Показывать пустые разделы в логе
FRP Check Искать сигнатуры FRP в разделах
Read Android Info Чтение информации об версии андроида и т.д.
Get Mi Cloud Info Выводить информацию об Mi аккаунте( состояние поиска, привязанный номер телефона или(и) email)
Auto Backup ExtCSD автосохранение extcsd
Check EMMC RPMB Info Показывать количество записей в RPMB
Save Form Position Сохранять позицию.
Show Qlm Loader Info Показывать информацию об FireHose (Qualcomm Лоадере)

Set Log Font Выбор шрифта, показываемого лога
Спасибо AndroidExtract за продукт и помощь в составлении описания функций

CNXSoft: Это пост от гостей Марселя Зисвилера (Marcel Ziswiler), менеджер платформы Embedded Linux, Toradex и Леонардо Грабоски Вейга (Leonardo Graboski Veiga), инженера по техническому маркетингу, Toradex, связанные с предстоящим докладом Марселя на тему «Оценка износа устройств с флэш-памятью eMMC» на конференции Embedded Linux 2019 года позже этот месяц.

Флэш-память была важной темой во встраиваемых системах на протяжении десятилетий. Она позволяет радикально улучшить размеры и надежность электронных устройств по сравнению с другими технологиями хранения. Другие преимущества флэш-памяти включают в себя отсутствие подвижных элементов и снижение энергопотребления. Однако, проблемы, связанные с флэш-памятью, не так широко освещаются в потребительской электронике. Среди них ограниченная прочность и большая сложность программного обеспечения.


Рисунок 1. от флэш-накопителей и SD-карт до SSD и интегральных микросхем, флэш-память является частью нашей повседневной жизни.


Рисунок 2: Оригинальный iPod, выпущенный в 2001 году, является редким примером мобильного устройства с магнитным накопителем.

Когда речь идет о встраиваемых системах, флэш-память является предпочтительной энергонезависимой памятью. Во встраиваемых системах Linux распространенной практикой является использование интегральных микросхем (IC) в системах-на-модуле (SoM) и одноплатных компьютерах (SBC), поскольку они более устойчивы к повреждению данных, чем некоторые модели карт MicroSD. Они также более устойчивы, когда вибрация окружающей среды является решающим фактором. К п римерам SoM, использующим встраиваемую флэш-память, относятся семейства Apalis и Colibri от Toradex. На рисунке 3 представлено увеличенное изображение модуля Colibri iMX8X, оснащенного eMMC от Micron:


Рисунок 3: Colibri iMX8X оснащен флэш-памятью eMMC от Micron.

Эта статья также включает в себя широкий обзор технологий и некоторые особенности реализации. И нформация может быть не новой для вас, поэтому не стесняйтесь пропускать разделы, если у вас уже есть необходимые знания или вы считаете это не нужным.

Обзор технологии

Прежде чем идти дальше, стоит отметить, что флеш-память является настолько широкой темой, что даже статья, посвященная рассмотрению того, как она работает, все равно не даст достаточно исчерпывающего обзора. Следующие параграфы предназначены только для понимания того, как оценить износ eMMC.

В этой статье представлены только основы понимания износа, в Интернете доступно большое количество литературы по флэш-памяти. Например, у Toradex есть блог, архив вебинаров и ряд статей на веб-сайте разработчиков. Статья Википедии о флэш-памяти также содержит более ста ссылок на другие ресурсы.

NOR и NAND

NOR имеет более простые принципы работы и более высокую надежность, но часто требуется более высокое число выводов и имеется более низкая плотность хранения на единицу площади кремния, чем NAND, что влияет на размер и стоимость. По этим причинам NOR часто используется только в определенных приложениях, которые считаются критическими даже для высоконадежных встраиваемых систем промышленного уровня. Вы можете узнать больше об этой теме в NOR | / NAND Flash Guide от Micron (PDF). Н а рисунке 4, взятом из руководства, упомянутого в этом параграфе, представлена сводка технологий NOR и NAND в контексте плотности и емкости хранилища:


Рисунок 4: Предложения NOR и NAND по плотности и емкости. (источник: Micron NOR / NAND Flash Guide)

Структура NAND

Флэш-устройство raw NAND можно разбить на три отдельные части.

Самая важная информация из вышеприведенных пунктов заключается в том, что блоки изнашиваются по мере их стирания. Таким образом, для наших целей нас больше всего интересует счетчик стирания блоков; то есть, сколько раз каждый блок был удален.


Рисунок 5: Диаграмма высокого уровня raw NAND флэш-кристалла.

NAND SLC и MLC

Ячейка, как самая маленькая сущность, хранит биты. Сколько битов фактически хранится на ячейку, зависит от пороговых уровней напряжения, которые она может удерживать и различать во время операции чтения. Существуют различные обозначения для флэш-памяти, которые указывают, сколько бит могут хранить ячейки.

  • SLC : одноуровневая ячейка, хранит 1 бит на ячейку
    • pSLC : MLC, работающий в режиме SLC, сохраняет 1 бит на ячейку

    Существует компромисс между плотностью и стоимостью в сравнении с надежностью и сроком службы, как показано в таблице 1.

    NAND Cell Technology

    Плотность (бит на ячейку)

    Таблица 1: Сравнение клеточных технологий NAND

    Рисунок 6 помогает визуализировать, как SLC и MLC хранят биты:

    PSLC («pseudo-SLC») повышает скорость работы и срок службы устройства MLC за счет уменьшения его емкости вдвое. Срок службы не соответствует настоящему SLC, но он значительно увеличен. Pseudo-SLC не следует путать с быстрым режимом, который ускоряет работу устройства MLC, но не увеличивает его срок службы:

    Понимание того, настроены ли блоки как MLC или pSLC, важно для определения срока службы устройства, так как мы собираем количество поврежденных блоков с течением времени.

    Для eMMC, в котором используется технология MLC, в зависимости от ширины трассировки кремния, блок длится в среднем от 3000 до 10000 циклов стирания. Время жизни для pSLC увеличивается более чем в 2 раза по сравнению с MLC; поэтому pSLC предпочтительнее быстрого режима или избыточного выделения ресурсов (т. е. использование флэш-памяти с удвоенной емкостью, чтобы она работала вдвое дольше). Может быть трудно найти количество циклов стирания и значения ширины трассировки в общедоступной документации производителей, поэтому бенчмаркинг самих устройств может быть решением.

    Со временем вероятность переворота в блоке увеличивается. Когда он становится слишком большим, блок помечается как плохой. Может случиться, что блок преждевременно выйдет из строя, и устройство хранения может быть отправлено с завода с некоторыми неисправными блоками. Производители часто включают запасные блоки для их замены, чтобы они не влияли сразу на полезную емкость хранилища.

    Усиление Записи

    Выравнивание износа и сбор мусора

    Если всегда использовать одни и те же физические страницы и блоки, например, при обновлении файла, эти блоки будут преждевременно изнашиваться. В худшем случае система может даже перестать работать задолго до окончания срока службы флэш-памяти (EOL), если контроллер NAND не перемещает данные, поскольку эти блоки становятся неисправными.

    Чтобы этого не случилось, алгоритм выравнивания износа гарантирует, что блоки всегда используются равномерно. Для этого он перемещает данные. Существует два типа алгоритмов выравнивания износа.

    • Динамический : перемещаются только данные, которые являются динамическими (то есть обновляются с течением времени). Статические данные хранятся в блоках, в которые они были первоначально записаны. Этот алгоритм проще, но не использует всю емкость устройства хранения. Лучше всего использовать, когда только небольшой процент флэш-памяти содержит статические данные.
    • Статический : Этот алгоритм целенаправленно перемещает статические данные, равномерно распределяя все блоки флэш-памяти. Это более сложный алгоритм, но он продлевает срок службы устройства хранения, используя всю доступную флэш-память.

    На рисунке 8 показано, как алгоритмы управления raw NAND вместе можно рассматривать как контроллер, который отображает физические блоки стирания (PEB) в логические блоки стирания (LEB) и абстрагирует специфичные для NAND операции в простые операции «чтения» и «записи»:


    Рисунок 8. Операции raw NAND абстрагируются через контроллер.

    Чтобы лучше понять полную реализацию уровней абстракции между устройством raw NAND и программой в деталях, вы можете прочитать исчерпывающую документацию по MTD , UBI и UBIFS. Конечно, чтобы узнать особенности реализации, вы также можете взглянуть на исходный код ядра Linux.

    Детальный взгляд на eMMC Flash

    Одной из самых популярных высокопроизводительных флэш-технологий, используемых во встраиваемых промышленных системах, является eMMC ( Embedded MultiMediaCard), которая состоит из матрицы NAND, обычно MLC или TLC, и сопровождающего ее контроллера NAND. Он абстрагирует большую часть стека управляющего программного обеспечения от базовой операционной системы. Стандарт eMMC поддерживается JEDEC, и его база доступна бесплатно после регистрации. Последним стандартом, опубликованным до написания этой статьи, является Embedded MultiMedia Card Electrical Standard 5.1 (можно скачать PDF-файл после регистрации)

    Поскольку контроллер обеспечивает высококачественный уровень абстракции (при условии, что он исходит от надежного производителя), можно безопасно использовать файловую систему, которая осведомлена о работе блочных устройств, если принять некоторые меры предосторожности. В BSP Toradex Embedded Linux используется файловая система EXT4 по умолчанию для компьютеров на модулях с флэш-памятью eMMC. Рисунок 9 суммирует различия между raw NAND и управляемым NAND относительно контроллера:

    В примерах, приведенных в этой статье, мы рассматриваем 4 ГБ MLC eMMC с 1024 блоками, которые в реальном мире могут быть (например, Micron MTFC4GACAJCN-1M-WT, использовавшимися в последней редакции Apalis iMX6Q 1 ГБ SoM). Мы также предполагаем, что средняя продолжительность жизни блока составляет 3000 циклов стирания, что является лишь обоснованным предположением. Оно не был взято из таблицы данных вышеупомянутого номера детали.

    Проблемы использования eMMC заключаются в сборе сведений о реализации контроллера и сроке службы модуля, которые могут быть или не быть общедоступными. Кроме того, кто-то может предпочесть выбрать производителя, который предоставляет хороший собственный отчет о состоянии работоспособности. Стандарт eMMC резервирует некоторые регистры для этой цели, но их использование не является обязательным. У eMMC, выбранной для данного примера, есть подробный отчет о работоспособности, а подробную информацию о нем можно получить из TN-FC-32 Micron: Отчет о работоспособности устройства e.MMC, доступный после регистрации, в разделе программного обеспечения e.MMC на веб-сайте Micron. В этом разделе веб-сайта Micron вы также можете найти инструмент emmcparm, который будет использоваться позже в этой статье, и полезную TN-FC-25: Общие сведения о поддержке драйверов Linux для e.MMC.

    Команды и регистры

    Стандарт eMMC определяет работу через шину, которая содержит линии электропитания, линии CMD, DAT0-7 и CLK.


    Рисунок 10. Многоблочная операция чтения. (Источник: Стандарт JEDEC № 84-B51, раздел 5.3.1, стр. 9)

    Стандарт eMMC также определяет регистры с различными наборами информации, которые, в свою очередь, доступны через определенные команды CMD. В таблице 2 представлены регистры eMMC:

    Название

    Ширина (байты)

    Описание

    Реализация

    Идентификационный номер устройства, индивидуальный номер для идентификации

    Относительный адрес устройства, это системный адрес устройства, назначаемый хостом во время инициализации.

    Driver Stage Register, для настройки выходных драйверов устройства.

    Специфичные данные устройства, информация об условиях работы устройства.

    Регистр условий эксплуатации. Используется специальной широковещательной командой для определения типа напряжения устройства.

    Расширенные данные, специфичные для устройства. Содержит информацию о возможностях устройства и выбранных режимах. Введено в стандарт v4.0

    Таблица 2 : Регистры e.MMC (источник: Стандарт JEDEC № 84-B51, глава 5.3, стр. 8)

    • собственный отчет о работоспособности разработчика, длина 32 байта
    • оценка срока службы устройства тип A, обеспечивающая состояние работоспособности с шагом 10%
      • относится к блокам SLC в нашей eMMC.
      • относится к блокам MLC в нашей eMMC.
      • возвращает значения normal, warning (80% зарезервированных блоков использовано) и urgent (90% зарезервированных блоков использовано)

      Уместный вопрос: если эта информация легко доступна, почему бы просто не использовать данные из стандарта JEDEC?

      • Одной из причин является тот факт, что отчет о работоспособности был представлен только в версии 5.0 стандарта JEDEC.
      • Другим является низкое разрешение значений (с шагом 10%), что плохо для бенчмаркинга программ, которые записывают небольшие объемы данных. Для получения полезной информации потребуется очень много времени.
      • Кроме того, инструмент оценки износа флэш-памяти, который предоставляет методы, независимые от конкретных технологий (т. е. также работает для карт SD или необработанной флэш-памяти поверх MTD), является более гибким.

      Собственный отчет Micron о работоспособности

      По этой теме мы (почти) не подпадаем под действие стандарта JEDEC. Единственная информация, которую нам нужно понять, это как получить доступ к этим данным. Нам нужно только знать, что мы должны использовать General Command, а именно GEN_CMD или CMD56, как входную дверь для получения этих данных из кремния. Раздел «Специфичные для программ команды» в спецификации eMMC содержит более подробную информацию.

      Могут быть получены следующие данные:

      • Счетчики ошибочных блоков и информация : заводские счетчики ошибочных блоков, количество ошибочных блоков во время выполнения и количество оставшихся свободных блоков. Это также предоставляет информацию для каждого блока о неудачных адресах страниц и о том, происходят ли сбои при стирании или в программе.
      • Счетчики стирания блоков : минимальное, максимальное и среднее число стираний блоков среди всех блоков, а также счетчики стирания для каждого блока.
      • Конфигурация блока : физический адрес каждого блока и является ли он SLC или MLC.

      Чтобы получить доступ к каждому из них, CMD56 должен быть с конкретным параметром.

      Примечание о поддержке eMMC в течение срока службы SoM

      Производители SoM часто придерживаются политики долгосрочной доступности, так как они нацелены на клиентов, которые получают выгоду от этого, таких как промышленные и медицинские пользователи. Например, Toradex гарантирует более 10 лет доступности.

      С другой стороны, вы можете предложить аппаратное обеспечение с (например) eMMC, которое не соответствует последним стандартам. Это еще один практический сценарий, когда вы хотите иметь решение для оценки износа, каким-то образом отделенное от конкретных технологий или стандартов.

      Работоспособность флэш-памяти

      Состояние флэш-памяти в любой данный момент времени можно понимать как процент ее емкости, которая уже изношена. Для простоты мы будем предполагать, что на ранних стадиях не изнашиваются никакие блоки, выравнивание износа является оптимальным и статическим, а усиление записи отсутствует, то есть идеальный сценарий.

      Общая выносливость может быть получена в виде общего количества стираний или общего количества данных, которые могут быть записаны на устройство:



      Общее количество циклов стирания, по определению, является более точным, поскольку износ блоков происходит после стирания блоков. Следовательно, первый способ имеет тенденцию быть предпочтительным последнему.

      В приведенном выше примере, после того, как 1 536 000 стираний были равномерно переданы блокам или примерно 6 ТБ данных было записано на устройство, оно достигло 50% срока службы.

      Мониторинг состояния Флэш-памяти в Linux

      Читайте также: