Как подключить emmc к компьютеру

Обновлено: 06.07.2024

Основные выводы:
GND / VSS — «земля» для сигналов и питания.
VCC — питание (ядро контроллера, внутренний RAM и NAND). Минимальное напряжение 2.8V, максимальное — 3.6V.
VCCQ — питание IO-линий (опорное напряжение на транзисторах линий; D0..D7 CMD CLK). Допустимые значения 1.8 . 3.3V.
CLK — сигнал тактования.
CMD — двунаправленная линия передачи команд.
D0..D7 — трехрежимная шина передачи данных; режимы передачи — 1 бит, 4 бита, 8 бит (чем шире, тем быстрее).
nRST — линия сброса — не обязательная, но используется в системах с NVIDIA TEGRA.

CID содержит информацию о производителе микросхемы, название микросхемы, месяц год производства и серийный номер.
ExtCSD представляет собой блок регистров (512 байт), в которых хранится конфигурация микросхемы.

Сама микросхема eMMC представляет собой память с контроллером, и содержит в себе 4 основных раздела (boot1, boot2, bin, EXT_CSD)

bin - User Datа
boot1 - Boot Partition 1
boot2 - Boot Partition 2
EXT_CSD - Основные биты конфигурации

Раздел bin является основным разделов в который пишутся данные (прошивка), и содержит в себе все разделы, сформированные с помощью таблицы разделов.

Boot1,2 являются разделами в котором хранится загрузчик,отправляемый в процессор

CID содержит информацию о производителе микросхемы, название микросхемы, месяц год производства и серийный номер.
ExtCSD представляет собой блок регистров (512 байт), в которых хранится конфигурация микросхемы.

Сама микросхема eMMC представляет собой память с контроллером, и содержит в себе 4 основных раздела (boot1, boot2, bin, EXT_CSD)

bin - User Datа
boot1 - Boot Partition 1
boot2 - Boot Partition 2
EXT_CSD - Основные биты конфигурации

Раздел bin является основным разделов в который пишутся данные (прошивка), и содержит в себе все разделы, сформированные с помощью таблицы разделов.

Boot1,2 являются разделами в котором хранится загрузчик,отправляемый в процессор

Официальный сайт AMCV, AKAI, Asano, Akira, lliew, Aiwa, Artel, BBK, BOE, Bravis, Digma, Dexp, Denn, DEX, Daewoo, Dyon, Doffer, Erisson, Elenberg, Ergo, Engalon, Hyundai, HOLLEBER, Satelit, Sumato, Soundmax, Starwind, Supra, Saturn, Sony, Shivaki, Samsung, Sharp, Strong, SHOWNIC, SkyLine, PRESTIGIO, Yuno, Rolsen, HI, JVC, Mystery, Telefunken, HiKeen, HELIX, Hisense, Hamber, Herenthal, Harper, Hartens, Hisense, Hoffson, HELIX, Kivi, LG, Liberton, Liberty, Loview, Lentel, Leben, Loview, LEFF, Lumus, Mirta, Mystery, Manta,OzoneHD,Panasonic, Philips, Pioneer, Rotex, Rainford, Rolsen, RUIMATECH, TCL, Thomson, Toshiba, Tevion, Nesons, Neko, NEI, Novex, Prime Technics, Vinga, Comer, Grunkel, Quarton, KROHLER, YASIN, Vesta, Xiaomi,Terris, Trony, Irbis, Fusion, xiaomi mi, TDLex, Gazer, Grunhelm, Glofiish, Kruger&Matz, VILGRAND, ORFEY, AVEX, NEONIX, Blaсkton, TopDevice, HIBERG, QUARTON, Olto

В статье рассматриваются особенности применения микросхем стандарта eMMC, разновидности этих микросхем, даны рекомендации по программированию на программаторах ChipStar.

СОДЕРЖАНИЕ:

1. Что такое микросхема eMMC?

Фактически микросхема eMMC (Embedded MultiMediaCard) — это накопитель MMC (MultiMediaCard), выполненный в виде микросхемы. Не сильно вдаваясь в детали внутренней структуры, можно сказать, что eMMC представляет собой одну или несколько микросхем NAND под управлением микроконтроллера, который обеспечивает внешний интерфейс eMMC и берет на себя достаточно неприятные функции управления микросхемами NAND: исправление ошибок и управление плохими блоками. О практических сложностях исправления ошибок и управления плохими блоками NAND мы уже писали. А при использовании eMMC разработчик оказывается избавленным от необходимости создания сложного программного обеспечения, процессор прибора может быть загружен другими задачами.

eMMC представляет собой не микросхему в традиционном понимании, а микросборку, в которой в одном корпусе собраны несколько кристаллов зачастую разных (!) производителей.

eMMC — это не единственное название для подобных микросхем. Встречаются названия: eNAND, moviNAND, NANDrive. Кроме eMMC есть еще другие варианты накопителей, основанные на идеях полного управления NAND: OneNAND, UFS.

2. Особенности микросхем eMMC

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

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

Рисунок: eMMC

У eMMC очень большой объем основной области памяти, поэтому, несмотря на достаточно быстрое чтение микросхемы программатором (до 5 мегабайт в секунду), полное чтение может занять несколько минут. Пока программатор считывает основную область микросхемы, можно переключиться на другие закладки редактора и быстро прочитать и просмотреть специальные регистры микросхемы.

3. Специальные регистры eMMC

В соответствии со стандартом JEDEC все микросхемы eMMC имеют следующие регистры:

  • CID (Chip IDentification) — регистр идентификации микросхемы;
  • CSD (Chip Specific Data) — регистр управления микросхемой;
  • ECSD (Extended CSD register) — расширенный регистр управления микросхемой.

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

Для специальных регистров закладка обычного двоичного редактора дополнена справа редактором свойств (как показано ниже на примере регистра CID).

Рисунок: eMMC

  1. Зона обычного двоичного редактора. Здесь информация отображается в HEX формате и может быть изменена (даже для неизменяемых областей);
  2. Зона обычного двоичного редактора, соответствующая выделенной ячейке (slice) специального регистра;
  3. Название ячейки регистра в соответствии с eMMC JEDEC;
  4. Адрес в байтах начала ячейки регистра в шестнадцатеричном формате;
  5. Адрес начала ячейки регистра в битах или байтах (указано в заголовке колонки), значения десятичные:
    • Для битового формата значения адреса поля представлены в виде: <начало_бит>:<конец_бит>
    • Для байтового формата значения адреса поля представлены в виде: <начало_байт>.<бит>:<конец_байт>.<бит>
  6. Мнемоническое обозначение ячейки регистра в соответствии с eMMC JEDEC;
  7. Тип памяти ячейки регистра:
    • DNU — ячейка не используется или её нельзя использовать;
    • RO — ячейка только для чтения;
    • WO — ячейка только для записи (записанное значение неизвестно, всегда показывается как "0");
    • OTP — однократно программируемая ячейка (ее значение больше нельзя будет изменить);
    • RAM — ячейка управления (меняется постоянно, после отключения питания значение не сохраняется);
    • Пусто — нормальная многократно записываемая и стираемая ячейка.
  8. Значение ячейки в HEX формате;
  9. Текущее положение курсора редактора в байтах, адрес в байтах начала текущей ячейки регистра.

В регистре CID все поля являются ячейками только для чтения.

Перемещение курсора редактора и редактора свойств синхронизированы. Редактировать данные можно как в редакторе свойств, так и в обычном редакторе, причем обычный редактор не поддерживает ограничения редактирования ячеек, которые наложены на редактор свойств в зависимости от типа ячейки. Таким образом, в двоичном редакторе можно отредактировать всё, даже то, что редактировать не нужно. Поэтому начинающим пользователям настоятельно рекомендуем использовать только редактор свойств.

На рисунке ниже показан пример регистра CSD. У этого регистра часть полей уже можно изменить:

Рисунок: eMMC

  1. Ячейка нормального типа. Можно редактировать и многократно перезаписывать.
  2. Однократно программируемая ячейка (ее значение больше нельзя будет изменить).
  3. Неизменяемая ячейка. Только для чтения.

Обратите внимание, что бит COPY регистра CSD предварительно записан при поставке чистой микросхемы розничному покупателю. Это мера защиты авторских прав. Стереть этот бит невозможно. Часть ячеек регистра перезаписываемая, например, изменяя значение ячейки TWP (временная защита от записи) защиту можно устанавливать или снимать. А вот ячейка PWP (постоянная защита от записи) однократно программируемая. Установка бита PWP в единицу превратит микросхему eMMC в постоянное запоминающее устройство – вы уже больше не сможете стереть или перезаписать ее!

На рисунке ниже показан пример регистра ECSD:

Рисунок: eMMC

  1. Ячейка управления. Нас такие не интересуют.
  2. Ячейка только для записи (записанное значение неизвестно, всегда показывается как"0"), как правило, это тоже ячейка управления и нас не интересует.
  3. На сиреневом фоне в редакторе показаны области, которые назначены каким-либо ячейкам.
  4. Обычным текстом показаны области, не имеющие никакого назначения в стандарте eMMC JEDEC.

Регистр ECSD содержит большое разнообразие ячеек разных типов и размеров. Часть областей регистра зарезервирована для будущего использования. Не все ячейки ECSD, описанные в стандарте eMMC JEDEC, могут быть реализованы в конкретной микросхеме. Если ячейку перезаписать не удается, возможно, что ее просто нет. В то же время могут быть реализованы какие-либо другие функциональные ячейки в зарезервированных областях. За подробной информацией следует обратиться к документации производителя конкретной микросхемы.

Об особенностях записи регистров eMMC программатором читайте ниже.

4. Режимы работы шины данных eMMC

Рисунок: eMMC

Меню "Анализ eMMC CID/CSD" вызвает считывание содержимого CID/CSD, его интерпретацию и верификацию на соответствие выбранной микросхеме:

Рисунок: eMMC

5. Проверка контактирования

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

Рисунок: eMMC

Однако вы можете вызвать проверку контактирования вручную, тогда это окно будет показано всегда. Можно кликнуть по изображениям контактов, чтобы увидеть назначения контактов микросхемы и их взаимосвязи внутри адаптера. Микросхемы типа eMMC могут быть прочитаны и записаны в двух режимах шины данных: 8 бит и 1 бит. Если сигналы к линиям данным D1-D7 не имеют контакта с микросхемой, программа автоматически переключится в режим однобитной шины, и микросхема может быть успешно прочитана и записана, только медленнее. В этом случае каждый раз будет выдаваться предупреждение об отсутствии контакта, которое можно игнорировать.

Примечание: У программаторов ChipStar-Janus аппаратные возможности проверки контактирования отсутствуют.

6. Как самостоятельно добавить отсутствующую в базе микросхему

Подробно о самостоятельном добавлении разных микросхем вы можете прочитать в соответствующей статье. Поскольку вся необходимая информация о программировании микросхемы eMMC содержится в регистрах CID, CSD и ECSD самой микросхемы, а доступ к чтению этих регистров унифицирован и подробно описан в стандарте eMMC JEDEC, добавление микросхемы не представляет никаких трудностей.

Cначала необходимо выбрать шаблон корпуса микросхемы: BGA/153, BGA/169 или ICPA (для внутрисхемного программирования), как показано на рисунке ниже.

Рисунок: eMMC

Затем достаточно нажать кнопку "Автозаполнение согласно eMMC JEDEC" и вся необходимая для программирования информация будет считана:

Рисунок: eMMC

Останется только ввести название микросхемы в поле "Микросхема" и можно работать.

7. Запись микросхемы и защита регистров CSD и ECSD

Если вы выберете чтение микросхемы (стандартная процедура чтения), то программа считает основную память и все три специальных регистра.

При сохранении в файл и при его последующем открытии вся структура закладок редактора восстанавливается.

Если вы попытаетесь записать микросхему, откроется стандартное окно подтверждения записи с несколькими закладками. Закладка "Области" определяет соответствие областей (т.е. какие области из исходных файлов в какие области микросхемы будут записаны):

Рисунок: eMMC

Программа назначает области по умолчанию, однако вы их можете переназначить. Обратите внимание, что область CID не назначена. Это происходит потому, что регистр CID полностью состоит из полей только для чтения и его запись невозможна.

На закладке "Операции" можно управлять выполнением различных этапов при записи микросхемы. Обычно программа по умолчанию включает все операции. Однако для некоторых микросхем, включая eMMC, все немного по-другому:

Рисунок: eMMC

По умолчанию запись CSD и ECSD регистров будет выключена. Это сделано из соображений максимальной безопасности, поскольку данные регистры содержат однократно программируемые ячейки, и их изменение необратимо. Для защиты от необдуманных действий программа по умолчанию не включает запись таких регистров. Если вы абсолютно уверены, что вам нужно записать какой-либо из этих регистров, вручную включите соответствующую операцию, как показано на рисунке ниже:

Рисунок: eMMC

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

8. Выборочное чтение и запись регистров микросхемы

Кроме стандартной процедуры чтения, когда считываются все области микросхемы, в программе ChipStar реализовано выборочное чтение только одной области:

Рисунок: eMMC

Выборочное чтение может быть очень полезным при работе с такими микросхемами, как eMMC накопитель. При выборочном чтении можно быстро считать и сохранить, и, при необходимости, записать только одну область микросхемы. Например, мы считали только область регистра CSD, как показано на рисунке выше. Затем, если мы решим записать такой файл в микросхему, закладка "Области" диалога подтверждения записи будет выглядеть так:

Рисунок: eMMC

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

Рисунок: eMMC

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

9. Особенности записи регистра ECSD

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

Лог детакта 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 карту.

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 в плане скорости работы. Ну а пройдет еще пара-тройка лет, сравняются и по стоимости.

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