Está en la página 1de 104

rraa

re
er
El libro del eMMC
H
(eMMC, UFS & NAND)
to
es
rnn
EEr

Vendido a Carlos urzua


Todos los derechos reservados
Prohibida su reproduccion
rraa
El libro del eMMC

re
( eMMC, UFS & NAND)

er
H
Antonio Martinez Ruvalcaba
(Ernesto Herrera)
to
es
rnn
EEr

Vendido a Carlos urzua


Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
H
to
es
rnn
EEr

© Antonio Martinez Ruvalcaba, [2019]

Impreso por [Nopalera Editorial]

Vendido a Carlos urzua


Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
H
to
es
rnn
EEr

Todos los derechos reservados.

Vendido a Carlos urzua


Todos los derechos reservados
Prohibida su reproduccion
rraa
Del autor

re
Antonio Martinez Ruvalcaba mejor conocido en las redes sociales co-
mo “Ernesto Herrera” o “Quetzaltzin Unlocker”, es un técnico espe-
cializado en software que comenzó su trayecto en la telefonía en el

er
año 2008 en la ciudad de Matamoros, Tamaulipas, Mexico. Realiza
trabajos tanto de software como de hardware, siendo el primero su
fuerte, ah realizado procedimientos de Jtag desde que estaba RIFF
H
box y ATF, reviviendo equipos como el Samsung galaxy s2 cdma que
era muy común que lo mataran por mal root. Realizaba unlock de lu-
mias mediante Jtag con ATF nitro, unlock de Motorola mediante
to

TestPoint con Smart Clip entre muchas otras cosas.


En la actualidad sigue realizando trabajos a nivel componente tanto
en IOS como en Android, a la vez que sigue como unlocker y realizan-
es

do procedimientos eMMC.
rnn
EEr

Vendido a Carlos urzua


Todos los derechos reservados
Prohibida su reproduccion
Tabla de contenido

Capítulo 1 Conocimientos Generales ...................................................... 13


Capítulo 2 eMMC/eMCP ........................................................................ 47

rraa
Capítulo 3 UFS ........................................................................................ 92
Capitulo Especial ................................................................................... 106
Agradecimientos ................................................................................... 111

re
er
H
to
es
rnn
EEr

Vendido a Carlos urzua


Todos los derechos reservados
Prohibida su reproduccion
rraa
CAPITULO UNO

re
er
CONOCIMIENTOS GENERALES
H
to
es
rnn
EEr

13
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
CONOCIMIENTOS GENERALES

rraa
Antes de comenzar a realizar procedimientos direct eMMC o
algún otro proceso, es importante conocer como funciona un teléfono

re
en si mismo. Un Telefono en la actualidad es mas que eso, ya no se
usa específicamente para su función principal que es la de hacer y re-
cibir llamadas ni la de enviar y recibir mensajes, ahora, incluye un

er
sinfín de funciones adicionales, tales como, tomar fotografías, repro-
ducir tu música favorita, grabar videos, almacenar tu agenda, dar la
hora…en fin, todo en un solo dispositivo. Pero, ¿realmente sabemos
H
como funciona nuestro dispositivo internamente? Debemos com-
prender el funcionamiento de un equipo tanto en software como en
hardware, al menos los conceptos básicos para poder realizar proce-
to

dimientos un tanto mas avanzados como son las conexiones ISP para
recuperación de equipos muertos por daño en boot, es por ello, que
en este primer capitulo, analizaremos un poco sobre las particiones
es

en software que requerimos saber sobre el sistema operativo android,


asi como las funciones principales, a grandes rasgos, del hardware
del mismo, para que, a la hora de comenzar con la programación de
rnn

memorias, sea mas fácil comprender el porque de cada procedimien-


to y cuando es problema realmente de software y cuando es proble-
EEr

ma de hardware.
Por lo tanto, lo invito a dar una buena leida y si es posible, vol-
ver a leer esta parte cuantas veces sea necesario para poder compren-
der todo esto sin mayor problema.

14
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
H
HARDWARE
to
es
rnn
EEr

15
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
ELECTRONICA DIGITAL

La electrónica se divide en dos grupos; la electrónica análoga y


la digital, nosotros nos enfocaremos en la segunda, es decir, la digi-
tal, ya que es la que utilizamos en los dispositivos electrónicos, en
este caso, en los Smartphone, aunque cabe mencionar, que la análoga

rraa
también se utiliza en algunos sectores del dispositivo, sin embargo,
como estamos enfocados en el funcionamiento única y exclusiva-
mente de la memoria y el procesador, nos enfocaremos en la digital.

re
La electrónica en general, es el comportamiento de la electricidad en
los materiales, y al referirnos a electrónica digital, nos referimos al

er
paso de la corriente eléctrica en estados discretos, en circuitos con
elementos semiconductores, los cuales permiten convertir la corrien-
te continua en bits, para procesar información, ya que, en electrónica
H
digital, solo se conocen dos estados lógicos, en los que hay o no hay
corriente eléctrica. Estos estados lógicos son 1 (verdadero, alto, en-
cendido, es decir, si hay flujo de corriente) y 0 (falso, bajo, apagado,
es decir, no hay flujo de corriente), los cuales utilizan la lógica bina-
to

ria y el algebra boleana para procesar datos.


En donde el estado alto (1) se acerca al voltaje máximo de la fuente
es

de alimentación del dispositivo, el cual puede ser 3.3v o 5v, esto de-
pendiendo de la familia lógica que se este utilizando, este puede ser
TTL o CMOS.
rnn

El estado bajo (0) se acerca al nivel mas bajo de voltaje suministrado


por la fuente de alimentación, el cual es cero volts o GND (ground,
tierra).
EEr

Al referirnos a “digital” nos estamos refiriendo a todo aquello que


puede ser transmitido o almacenado por medio de bits.

Para poder realizar dicha función, la electrónica digital utiliza com-


puertas lógicas.

16
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Las compuertas lógicas, en dispositivos electrónicos como los
Smartphone, son circuitos integrados hechos a base de miles o millo-
nes de transistores, los cuales, tienen la función de convertir una can-
tidad de bits en un orden y sacarlos en otro.
Las principales compuertas lógicas son: NOT, AND, XOR y OR, es-
tas compuertas pueden combinarse entre ellas para obtener otros re-

rraa
sultados deseados, a esta combinación de compuertas lógicas, se le
denomina flip-flops.
Podemos combinar, por ejemplo, NOT y AND formando NAND, o
combinar NOT y OR, formando NOR.

re
SISTEMAS DE NUMERACION

er
Nosotros estamos acostumbrados a utilizar en la vida cotidiana un
sistema de numeración decimal, pero también exiten otros, que son
H
utilizados sobre todo en electrónica digital, estos son:
- Binario
- Decimal
- Hexadecimal
to

En el sistema numérico decimal, por ejemplo, utilizamos los nume-


ros del 0 al 9, y los utilizamos de manera combinada para crear cifras
es

infinitas de números, ya que, al combinar el 1 y el 0, formamos el 10,


el 1 y el 1, forma el 11 y asi sucesivamente.
El sistema numérico binario, es el que se compone de solo dos digi-
rnn

tos, estos son, 0 y 1, es el lenguaje que conoce nuestra pc o nuestro


Smartphone, ya que es el lenguaje maquina, donde, cada conjunto de
ceros y unos, forman un carácter. El sistema binario, en electrónica
EEr

digital, se le conoce como binario o bit. Pero un solo bit no nos dice
nada, se requiere un conjunto de bits para formar un carácter, especi-
ficamente 8bits. Los bits se agrupan forzosamente en conjuntos de 8,
para poder formar un byte, un byte forma una palabra (A, B, C, etc),
un carácter ($, %, &) o un símbolo (+, -, *).

17
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En el sistema binario, siempre usamos los múltiplos 2, debido a que
solo podemos tener dos valores posibles, 0 y 1, y, usando la formula
B=Ax2, explicaremos lo siguiente:

1 Byte = 8 bits
2 Bytes = 16 bits

rraa
¿Porque?

Porque, al usar solamente múltiplos de 2, por ser sistema binario, y

re
no de 10, como se hace en el sistema decimal o de 16 como se hace
en el sistema hexadecimal, se multiplica por dos, el contenido de ca-

er
da byte, de esta manera obtenemos:

1 Byte = 8 bits, 8 x 2 = 16 bits (2 bytes)


H
2 Bytes = 16 bits, 16 x 2 = 32 bits (4 bytes)
4 Bytes = 32 bits, 32 x 2 = 64 bits (8 bytes)
8 Bytes = 64 bits, 64 x 2 = 128 bits (16 bytes)
16 Bytes = 128 bits, 128 x 2 = 256 bits (32 bytes)
to

32 Bytes = 256 bits, 256 x 2 = 512 bits (64 bytes)


64 Bytes = 512 bits, 512 x 2 = 1,024 bits (128 bytes)
es

128 Bytes = 1,024 bits, 1,024 x 2 = 2,048 bits (256 bytes)


256 Bytes = 2,048 bits, 2,048 x 2 = 4,096 bits (512 bytes)
512 Bytes = 4,096 bits, 4,096 x 2 = 8,192 bits (1,024 bytes)
rnn

1,024 Bytes = 8,192 bits, 8,192 x 2 = 16,384 bits (2,048 bytes)


2,048 Bytes = 16,384 bits, 16,384 x 2 = 32,768 bits (4,096 bytes)
EEr

Y asi sucesivamente, es por ello, que no encontramos memorias de


3gb, por ejemplo, o de 6gb, o de 7gb, siempre encontraremos memo-
rias, tanto externas como internas, de 1,2,4,8,16,32,64,128,256 o
512gb, por el sistema binario que se utiliza, tanto en las computado-
ras, como en este caso que nos interesa, los smartphones.

18
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Entonces, se forman en esos grupos de 8bits, es decir, 1byte, y, para
formar una palabra, se ocupa un conjunto o agrupamiento de bytes,
los cuales, formaran números hexadecimales, que a su vez, un
agupamiento de estos, formaran instrucciones de procesamiento.
A los bytes se les conoce también como “octetos”, por contener 8

rraa
bits, sin embargo, no siempre es asi, también pueden contener 6 o 9
bits. La definición será en base al campo al que nos estemos refirien-
do, por ejemplo, en el lenguaje de programación “JAVA”, el byte
debe tener siempre, forzosamente 8 bits.

re
Tomando lo anterior como referencia, podemos decir, que si un ar-

er
chivo de texto contiene 3000 bytes, nos estamos refiriendo a que, ese
archivo de texto, contiene 3000 palabras o caracteres, si tiene 4000
bytes, entonces tendría 4000 letras o caracteres.
H
Pero debido a que el byte es una unidad muy pequeña de almacena-
miento, se utilizan múltiplos de el para referirse a un tamaño en es-
pecifico, ya que, no es lo mismo decir que tiene 3000 bytes a decir
que tiene 3 kilobytes.
to

Tal como se usa un metro para definir a 100 centimetros y, estos a su


vez, para referirnos a 1000 milimetros, o tal como usaríamos 1kilo,
es

para referirnos a 1000 gramos, asi como 1 litro, para referirnos a


1000 mililitros y de esta manera hacemos mucho mas sencilla la des-
cripcion del tamaño en dichas unidades de medida.
rnn

El sistema numérico hexadecimal, a diferencia del binario, utiliza 16


caracteres y no dos, en este sistema numérico, encontramos que utili-
za los números del 0 al 9 y las letras de la A a la F, siendo la letra A
EEr

utilizada para representar al numero 10 y la F para representar el nu-


mero 16. Este sistema es muy utilizado por las computadoras o los
smartphone porque dos digitos hexadecimales corresponden a 1 byte.

19
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
UNIDADES DE INFORMACION

Recordemos que un dispositivo digital, tal como un Smartphone,


es aquel que es capaz de almacenar o transmitir datos por medio de
bits, y que, como mencionamos anteriormente, un bit, es la cantidad

rraa
minima de almacenamiento que puede tener un dispositivo digital, y
este bit puede ser un cero o un uno lógico, en el cual, mencionamos
que un cero seria un voltaje bajo o igual a cero o GND y el estado al-
to o uno, seria el que se acerque mas al voltaje de la fuente de ali-

re
mentacion, que en el caso de los Smartphone, vendría a ser 2.8 o
3.3v.

er
Tal y como medimos la distancia en metros, los liquidos en litros, el
peso en kilos y el tiempo en horas, utilizamos los bytes para medir la
capacidad de almacenamientode información, en un dispositivo digi-
H
tal.
Dentro de nuestro dispositivo móvil, la información se almacena y se
transmite por medio de un código que usa dos estados, el 1 y el 0, a
este código se le conoce como binario.
to

Nuestro dispositivo tiene la capacidad de transformar este código en


letras, numero y caracteres que nos hace llegar a nosotros como
es

usuarios finales en nuestro lenguaje, y a la inversa, cuando nosotros


enviamos un comando o instrucción al dispositivo, por medio de los
periféricos (touch, teclado, centro de carga, camare, etc) este es ca-
rnn

paz de traducirlo de nuestro lenguaje al código binario para que


nuestro dispositivo nos pueda comprender, es decir, que hace una
traducción para poder trabajar.
EEr

Bien, tenemos que conocer las unidades que se utilizan en los siste-
mas digitales para almacenar datos, aquí pondré una tabla con dicha
información.

20
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
BIT: Es la unidad minima de almacenamiento, este puede ser un 0 o
un 1.
NIBBLE (4 BITS): Este esta conformado por 4 bits y es la base del
sistema hexadecimal.
BYTE (2 NIBBLE – 8BITS): Es la unidad básica de almacenamiento
utilizada en informatica, y esta compuesta por 8bits, de esta manera,

rraa
un conjunto de bytes, es decir, de múltiplos de 8 bits, conforman un
carácter. A este también se le denomina “octeto”, ya que esta con-
formado por 8 bits.
WORD (2 BYTES, 4 NIBBLES, 16BITS)

re
DWORD (2 WORD, 4 BYTES, 8 NIBBLES, 32 BITS)
KILOBYTE (256 DWORDS, 512 WORDS, 1024 BYTES,

er
2048NIBBLES, 8192 BITS): En la actualidad, existe la controversia
por el prefijo KILO, ya que, este hace referencia al sistema decimal y
no al binario, y como un kilobyte no contiene 1000 bytes, si no,
H
1024, muchos opinan que no debería denominarse kilobyte, si no,
kibibyte o kiB.
MEGABYTE (1,024KILOBYTES, 262,144 DWORDS, 524,288
WORDS, 1, 048,576 BYTES, 2, 097,152 NIBBLES, 8, 388,608
to

BITS.
GIGABYTE (1,024 MEGABYTES, 1,048,576 KILOBYTES,
es

268,435,456 DWORDS, 536,870,912 WORDS, 1,073,741,824 BY-


TES, 2,147,483,648 NIBBLES, 8,589,934,592 BITS
rnn

Y asi sucesivamente.
Es por esta razón, que en el sistema de almacenamiento, se utiliza el
sistema hexadecimal para referirse a las direcciones dentro de la
EEr

memoria, ya que, reduce el espacio de la descripción.

21
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Como cualquier dispositivo electrónico, requerimos de tres ac-
ciones básicas para que este pueda funcionar, esta son; Alimentación,
procesamiento de datos y almacenamiento de datos, tanto permanen-
tes como temporales. En el caso de los teléfonos, tenemos los si-
guientes circuitos que realizan dichas tareas;

rraa
- PMU, PMIC o IC de power (circuito que administra energía)
- Procesador (Procesa datos e instrucciones)
- Memoria (circuito de almacenamiento)

re
Estos son los tres circuitos básicos que necesitamos conocer para
nuestro trabajo.

er
Por el lado de los componentes, vamos a trabajar muy frecuentemen-
te con; Condensadores y Resistencias, principalmente.
H
Expliquemos un poco sobre los tres circuitos principales.
to
es
rnn
EEr

22
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
POWER MANAGEMENT UNIT (PMU)

Coloquialmente conocido como PMU o PMIC o simplemente


IC de power, es el circuito integrado (IC por sus siglas en ingles),
encargado de la distribución de la energía que sumistra la batería a

rraa
nuestro dispositivo al resto de nuestro SoC.
Para ello, utiliza varios reguladores LDOs y BUCKs, que se en-
cargan de reducir o aumentar el voltaje o tensión electrica que re-
quieran los componentes activos de la tarjeta, según lo requieran.

re
Puesto que cada circuito en la tarjeta requiere mayor o menor voltaje
que el suministrado por la batería, dependiendo sus especificaciones
y sus funciones.

er
Este PMIC toma la energía de la batería, que viaja atravez de la
línea VBAT, la recibe y la distribuye de manera ordenada.
H
A grandes rasgos y, siendo inespecíficos, explicaremos como
funciona este circuito para encender tu dispositivo.
Cuando tú pones la batería en tu teléfono, hay un voltaje presen-
te sobre la línea VBAT (en muchos equipos nuevos cambia el nom-
to

bre de la línea, sobre todo los equipos que tienen if_pmic), es el


voltaje que le suministra precisamente la batería, este llega hasta el
es

PMU de manera abstracta, es decir, como un simple voltaje. Una vez


que entra al pmic, este lo convierte en una señal digital, que envía al
botón de power, este puede ser un voltaje alto o uno bajo, es decir,
rnn

un estado alto o un estado bajo, un 1 o un 0, regularmente es un esta-


do alto el que se mantiene latente en el botón de power, regularmente
1.8v, que están ahí latentes hasta que el usuario disponga de ellos,
EEr

cuando va a disponer de ellos? Pues cuando quiera encender el dis-


positivo. Una vez que el usuario deja presionado el botón de power
por mas de 3 segundos, este voltaje se va a tierra, lo que es igual a un
estado lógico bajo o cero, esto le indica al pmic que el usuario quiere
encender el dispositivo, asi que lo primero que hace el pmic, es des-

23
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
pertar al oscilador, para que este a su vez comience a sincronizar las
salidad de voltaje del pmic. Una vez que el oscilador se activa, co-
mienza la magia.

rraa
re
er
H
Es de suma importancia conocer, al menos de manera general, el
funcionamiento de estos circuitos, ya que de esta manera, será como
comprendamos el uso y manejo de las cajas relacionadas a eMMC o
de programación de distintas memorias. No profundizaremos en el
to

tema, ya que no estamos enfocados en hardware en este libro, si no,


en los procedimientos eMMC/UFS, pero, si quieres conocer mas so-
es

bre este tema, puedes investigar en la web todo lo relacionado a la


electronica digital.
rnn

PROCESADOR
EEr

El procesador es básicamente el cerebro de nuestro dispositivo,


el es el encargado de ejecutar todas las ordenes o instrucciones que le
da a los demás circuitos distribuidos por todo el SoC.
Este puede realizar tareas de aritmética tales como sumar, restar,
dividir o multiplicar, asi como también instrucciones lógicas, tales

24
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
como agregar, quitar y poner, usando compuertas lógicas y flip-flops
(analizados anteriormente)
Existen diferentes tipos de procesadores, los mas comunes re-
cientemente son: Qualcomm, Exynos, MediaTek, Broadcomm,
Spreadtrum, HiSilicon.
Cada uno de ellos maneja un chipset, por ejemplo, en Qual-

rraa
comm podemos encontrar chipset “MSM8909” o “MSM8953”,
“MSM8974” etc. Al referirnos a MSM (Mobile Station Modem), nos
referimos a que dentro del circuito físico de nuestro procesador, tam-
bien se encuentra nuestro BaseBand, por lo tanto, no encontraremos

re
ningún circuito extra que tenga esta función.

er
H
to
es

En MTK (MediaTek), encontramos lo mismo, por ejemplo,


MT6535, MT6737M, MT6739, etc.
Y asi con cada una de las diferentes marcas de procesadores.
rnn

En la actualidad un procesador ya no solo hace sus funciones


básicas, puesto que los dispositivos han ido avanzando con la evolu-
EEr

cion normal de la tecnología, por lo que ahora, dentro del mismo cir-
tuito, existen areas de imagen (GPU), de Audio, de BaseBand y
muchas otras areas mas, por lo que ya es mas que solo un circuito
encargado de realizar operaciones lógicas y aritméticas.

25
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Memoria Volatil

Al referirnos a memoria volátil, nos estamos refiriendo a la


memoria RAM de nuestro dispositivo. Al igual que en una compu-

rraa
tadora, encontramos diferentes tipos de memoria RAM, una mas
nueva que la otra, asi como DDR3 y DDR4, en nuestros dispositivos
encontramos a nuestra memoria RAM identificada como Low-Power

re
Double Data Rate (LPDDR). De esta manera, podemos encontrar
LPDDR1, LPDDR2, LPDDR3, LPDDR4 y la más reciente
LPDDR5. Siendo entre más nueva, obviamente mas actualizada y

er
con muchas nuevas mejoras. Para el caso de nuestro trabajo, no re-
querimos saber mucho al respecto, ya que, las cajas que utilizaremos,
solo se enfocan en la memoria no volátil.
H
Memoria No-Volatil
to

Al referirnos a memoria no-volatil, nos referimos, obviamente,


a la memoria de almacenamiento interno de nuestro dispositivo, la
es

memoria donde se guarda nuestro sistema operativo y los datos del


usuario, entre otras cosas. En la evolución normal del sistema de al-
macenamiento interno de los dispositivos móviles, lo que se busca es
reducir el consumo de energía y aumentar la velocidad de transferen-
rnn

cia de archivos, agilizar también la lectura y escritura, es por ello,


que los fabricantes se encuentran constantemente creando nuevos
EEr

protocolos de memoria. En la actulidad, al menos en Mexico, encon-


tramos tres tipos de memoria; eMMC, eMCP y UFS.
Pero antes de ellas, existieron otras, la primera fue la ROM
(Read Only Memory), la cual se traduce como Memoria de Solo Lec-
tura, ya que esta no se podía modificar, almacenaba la información

26
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
de manera permanente sin necesidad de energía, a diferencia de la
RAM, por lo cual, la convirtió en una memoria ideal para almacenar
datos, sin embargo, en la actualidad ya no se utiliza, a pesar de ello,
le seguimos denominando ROM a la memoria o al sistema operativo
como tal, siendo que esto es incorrecto.
Despues de esa, surgió la memoria PROM (Programmable Read

rraa
Only Memory), esta a diferencia de la ROM, no se programa en la
fabrica, si no, que la programa el usuario una sola vez y de manera
permanente.
La siguiente memoria fue la EPROM (Erasable Programmable

re
Read Only Memory), la característica de esta memoria, es que se
puede borrar y escribir nuevamente, mediante un proceso algo tedio-

ta.
er
so pero funcional. Para borrar la información se usaba luz ultraviole-

El protocolo que le siguió fue la EEPROM (Electrical Erasable


H
Programmable Read Only Memory), la cual puede ser programada,
borrada y reprogramada eléctricamente y no mediante rayos ultravio-
leta como sus antecesoras, las EPROM.
to

Luego llegaron las memorias FLASH, que vinieron a revolucio-


nar el sistema de alamacenamiento de dispositivos electrónicos. So-
es

bre todo en el campo en el que nos enfocamos; le telefonía móvil.


La ventaja y diferencia de este tipo de memoria, es que puede alma-
cenar mayor cantidad de datos que las anteriores. Utiliza caracteristi-
rnn

cas similares, porque fue el resultado de la evolución de ellas, claro


esta. Usa dos variantes, la NOR y la NAND, esto en base a las com-
puertas lógicas que utiliza, la combinación de algunas de ellas o flip-
EEr

flops. La memoria NOR esta compuesta por las puertas lógicas


NOT-OR y la memoria NAND, por las compuertas lógicas NOT-
AND.
Las primeras, las memorias NOR flash, fueron muy populares, sin
embargo, tenían poco espacio de almacenamiento y ampliar ese es-

27
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
pacio resultaba muy costoso y nada redituable, por lo cual, se pensó
en una tecnología nueva, la cual fue denominada NAND.
Una de las principales diferencias entre las memorias NOR y NAND,
es que en las NOR, se podía acceder a un byte o bit en especifico,
haciendo la tarea de programarla o borrarla muy eficiente, puesto que
si exitia algún error en un sector o celda de memoria, era fácil de en-

rraa
contrar porque te ibas directo al problema, pero también representaba
perdida de tiempo y dinero, ya que al surgir sistemas operativos mu-
cho mas grandes, esta tarea se volvia gigantesca. En cambio las me-
morias NAND, no acceden a bytes, si no, a un grupo de estos,

re
denominados “block” (512bytes, que es el grupo más pequeño de
unidad de datos al que puede acceder un sistema operativo en una

er
memoria NAND de manera fisica, ya que, de manera virtual, un sis-
tema operativo puede acceder a la unidad de datos mas pequeña de-
nominada “pagina” (4 bytes).
H
to
es
rnn
EEr

Este tipo de memorias, se componen de varias tipos de celdas, de las


cuales existen:
-SLC (Single Level Cell)

28
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
-MLC (Multi Level Cell)
-TLC (Triple Level Cell)
-QLC (Quad Level Cell)

Lo cual, como su nombre lo indica, se refiere a la cantidad de bits


que puede almacenar en cada una de sus celdas.

rraa
Las SLC almacenan 1 bit, MLC 2 bits, TLC 3 bits y QLC 4 bits.

Las memorias NAND se dividen en dos grupos o familias, estas son;


RAW NAND y MANAGED.

re
En las RAW NAND, se requiere de un controlador externo a la me-

er
moria, es decir, al circuito, para poder administrar el sector de
NAND, tal como errores, basura y otras cosas. Por lo cual requería
de mayores puntos de conexión y mayor desgaste para el procesador,
H
ya que, era este, el que se encargaba de toda esa administración.

En cambio las MANAGED NAND, ya contienen un controlador


dentro del mismo circuito donde se encuentra el area de NAND, por
to

lo que se reducen los puntos de conexión o comunicación con el pro-


cesador y, le quita responsabilidades al mismo.
es

Es aquí donde encontramos las dos principales memorias que vere-


mos en la primer etapa de este libro: eMMC y eMCP.
rnn
EEr

Circuitos BGA (Ball Grid Arrey)

Este tipo de circuito, esta compuesto por bolitas de soldadura sobre


su superficie, la cual, será soldada sobre la placa en cada pad corres-

29
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
pondiente. Es un encapsulado común en los dispositivos que utilizan
componentes SMD, precisamente como los teléfonos.

rraa
re
er
H
Componentes SMD

En los dispositivos móviles es muy común que se utilicen (por cues-


to

tiones de espacio) componentes SMD (Surface Mounting Device), es


decir, componentes que van soldados sobre la superficie de la tarjeta,
es

ya que, tradicionalmente los componentes atravesaban la tarjeta para


poder ser soldados, como en las viejas televisiones u otros equipos
electrónicos.
rnn

Nosotros utilizaremos básicamente a los condensadores y resisten-


cias, que son las que veremos en el dia a dia en nuestro trabajo.
Lo importante, es conocer como se miden. Por ejemplo, en el caso de
EEr

los condensadores, estos se miden en faradios. Son los que encontra-


remos en mayor cantidad en una tarjeta lógica, ya que estos, se en-
cargan de filtrar el ruido generado por los bucks y LDOs del pmic,
administrando los picos de voltaje que se suciten enviándolos a tierra
y protegiendo la línea o el circuito del cual estén encargados.

30
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Asi es como luce un condensador o capacitos SMD

rraa
El otro componente que utilizaremos constantemente es la resisten-
cia, esta se encarga de oponerse al flujo de electrones, por ello se
llaman resistencias. Se miden en ohms. Estas las encontraremos en

re
las líneas CMD y CLK.

er
H
to
es
rnn
EEr

31
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
SOFTWARE
H
to
es
rnn
EEr

32
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Sistema Operativo Android

La mayoría de los teléfonos en la actualidad, cuentan con este


sistema operativo, ya que es muy fácil de utilizar para el usuario final
y para los técnicos en reparación de teléfonos, debido a que es un sis-
tema operativo de código abierto, lo cual nos indica, que cualquier

rraa
persona con algo de conocimiento extra, puede realizar cualquier tipo
de modificación al OS (sistema operativo, por sus siglas en ingles).
Este sistema esta basado en Linux, y consta de varias particio-
nes que comenzaremos analizar.

re
Nuestro sistema operativo esta compuesto por varias particiones, al-
gunas de ellas son:

Boot er
H
Aboot
Recovery
System
Cache
to

User data
Metadata
es

Estas particiones son fáciles de ver o identificar cuando estas flas-


heando un teléfono, por ejemplo. Todos los que ya han flasheado te-
rnn

lefonos usando, por ejemplo, Odin, SPflashtool o cualquier flasher


free o box profesional, nos hemos percatado de dichas particiones ya
que son las que aparecen en el log de operaciones al momento del
EEr

flasheo mismo, pero pocos sabemos la función de cada una de ellas.

33
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Dependiendo del tipo de procesador que tenga nuestro dispositivo,
iran variando la cantidad de particiones y el nombre de las mismas,
por lo tanto, podemos encontrarnos particiones exclusivas de MTK
como el preloader, y particiones exclusivas, por ejemplo, en Qual-
comm, como el Sboot y asi por cada tipo de procesador. Aunado a
esto, con cada actualización de android, van agregando o quitando

rraa
particiones, sobre todo para proteger la seguridad de los datos del
usuario, es debido a esto, que, por ejemplo, antes no encontrábamos
la partición FRP, en los inicios de android, porque no existía ese tipo
de seguridad.

re
Por ello es que es difícil poder enumerar todas las particiones y espe-

er
cificar cual es la función de cada una de ellas, ya que, como mencio-
namos antes, van cambiando con el paso del tiempo.
H
BOOTLOADER

El bootloader es el encargado de iniciar el sistema operativo del


to

dispositivo, es el arranque del mismo, por lo tanto, al dañarlo, el


equipo ya no encenderá.
es

Existen diferentes tipos de boot, dependiendo el tipo de proce-


sador que maneje nuestro dispositivo. En la actualidad, al menos en
Mexico, existen cuatro tipos de procesadores comunes, siendo estos
rnn

MediaTek (MTK), Qualcomm (Qcom), Hi-Silicon y Exynos, tam-


bién existen otros, no tan comunes, como Spreadtrump, Broadcom,
etc.
EEr

Como ya mencionamos, cada procesador maneja distintas parti-


ciones, en el caso de MTK, por ejemplo, el bootloader lo encontra-
mos como “preloader” que es el que hace que inicie el dispositivo, si
este se daña, ya no encenderá el dispositivo.

34
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En el caso de Qualcomm, encontramos al bootloader como
Sboot, que al igual que el preloader, su función es iniciar el sistema
operativo, si este se daña (el Sboot), el equipo no encenderá.
Este bootloader viene protegido en la mayoría de los casos, para
poder proteger el dispositivo y en consecuencia, los datos del usua-
rio.

rraa
Las compañías o fabricantes bloquean o personalizan este
bootloader en base a un código de encriptación que puede ser calcu-
lado para poder desbloquearse, por algunas cajas de servicio o bien,
muchas veces proporcionado por el mismo fabricante, como es el ca-

re
so de HTC y Motorola.
En otras marcas, como Samsung o LG, uno puede fácilmente habili-

er
tar la opción de OEM en las opciones de desarrollador, para poder
acceder al desbloqueo del bootloader sin la necesidad de dicho códi-
go o key, como se hacia anteriormente.
H
Sin embargo, con el paso del tiempo, se dieron cuenta que estas op-
ciones facilitaban el mal uso del dispositivo, como el root del mismo,
la liberación, el unlock, entre muchas otras cosas mas, sobre todo, en
dispositivos que eran robados o extraviados, por ello, decidieron im-
to

plementar mas medidas de seguridad, tales como la llegada de la par-


tición FRP o bien, anular la opción OEM en las opciones de
es

desarrollador, asi como el KG state, en el caso de Samsung, al igual


que el Knox.
Sin embargo, en la actualidad podemos encontrar muchas maneras de
rnn

violar esa seguridad tan baja que presentan los dispositivos android,
por lo cual, tenemos este trabajo.
EEr

35
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
FRP

Factory Reset Protection: Esta protección fue agregada apartir de la


versión 5.1 de android y fue implementado para evitar que en un dis-
positivo que haya sido robado o extraviado y que tenga patrón de se-
guridad o código de usuario, al momento de ser reseteado por

rraa
combinación de botones, este no pueda acceder al dispositivo sin an-
tes poner la cuenta de google que tenia previamente el dispositivo.
De esta manera, se intento proteger el dispositivo de un mal uso por
parte de terceras personas, sin embargo, el nivel de seguridad de este

re
bloqueo, es muy bajo, por lo cual, existen multiples vulnerabilidades
que pueden ser utilizadas para brincar dicha seguridad y poder acce-
der al dispositivo.

er
Cada que sale una versión nueva de parche de seguridad, lo que in-
tentan hacer es bloquear esas vulnerabilidades, pero siempre se logra
H
brincar de una u otra manera. En el tema que nos compete, facilmen-
te podemos nosotros evadir dicha seguridad en equipos con parches
muy nuevos donde aun no haya nada para poder remover el FRP por
bypass o box básica. ¿Cómo? Pues accediendo directamente a la
to

memoria del dispositivo y borrando la partición, por ello es que es


interesante el tema que nos compete en este libro.
es

MDM
Mobile Device Management: Este tipo de bloqueo es el que es-
rnn

ta muy de moda, al menos en Mexico en este año 2019, ya que es un


bloqueo empresarial el cual impide que el usuario pueda acceder al
modo recovery o modo download, por lo tanto, no puede resetearlo
EEr

ni flashearlo, y no puede acceder al menú del dispositivo o bien, a


algunas funciones del mismo.
Este tipo de bloqueo también podemos removerlo directamente
de la memoria, por conexión isp o bien, removiendo la memoria de la
tarjeta.

36
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
SECUENCIA DE ENCENDIDO

Una vez que presionas el botón de power de tu teléfono, se ini-


cia la secuencia de booteo, la cual comienza a nivel de hardware,
siendo el PBL (Primary bootloader) el que se activa primero. Este
bootloader primario se aloja dentro del procesador del equipo, espe-

rraa
cificamente dentro de un area llamada “bootrom”. En un equipo
normal, sin ningún problema de hardware o de software, una vez pa-
sada la prueba del PBL, la siguiente etapa es el SBL (secondary
bootloader), este se encuentra dentro de la memoria del dispositivo,

re
si todo esta correcto, la siguiente etapa del encendido es el Aboot, el
cual activa el Boot y este a su vez el kernel que se encuentra dentro

correctamente.
er
de el, si todo esta correcto, se inicia el system y tu teléfono enciende

Esta secuencia de encendido, va a variar un poco dependiendo del ti-


H
po de procesador que tenga cada dispositivo, este ejemplo que po-
nemos, es de una manera general e inespecífica.
Aunque la secuencia mas documentada, es sin duda, la de Samsung,
sobre todo con su secuencia “secure boot”
to

En esa “secuencia de encendido seguro” de Samsung, el PBL se en-


cuentra en la ROM (que para el caso es lo mismo, ya que Qualcomm
es

identifica la ROM como el Procesador) y el SBL en la RAM (solo en


algunos modelos, ya que, la mayoría va montado en la memoria no
volátil) y cada .IMG del bootloader, verifica la firma digital del si-
rnn

guiente bootloader en base a una clave de encryptacion puesta en el


dispositivo desde su fabricación, por lo que, si no se encuentra dicha
clave o esta esta corrupta, no iniciara.
EEr

-PBL (Primary BootLoader)


-SBL (Secondary BootLoader)
-ABOOT (Android/Applications BootLoader)
-BOOT (Kernel)

37
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Si por alguna razón se interrumpe esta secuencia, el teléfono no
encenderá.

PRIMARY BOOTLOADER

rraa
Como lo mencionamos anteriormente, este se encuentra dentro
del procesador, específicamente dentro de un area llamada bootrom,
este NO puede ser dañado por software, solo por hardware. ¿En que
casos? Puede ser por algún golpe, por humedad…en fin, por cual-

re
quier motivo en hardware. Este PBL es el encargado de generar el
puerto EDL en los equipos Qualcomm.

er
Secondary Bootloader
H
Este boot, como mecionamos, se aloja dentro de nuestra memo-
ria interna, sea esta eMMC o eMCP, algunas marcas lo guardan en la
RAM, este esta a nivel de software, por lo tanto, este si puede ser da-
ñado por alguna mala manipulación del software del equipo, ya sea
to

que intentes hacer downgrade a un dispositivo con memoria antiroll-


back, ya sea que cargues alguna particion del sistema operativo que
es

dañe el dispositivo o por muchos motivos mas.


En el caso de los dispositivos Samsung, encontramos al secon-
dary bootloader con el nombre de Sboot, donde, dentro de el, encon-
rnn

traremos los boot 1 y 2.


En el caso de MTK, lo encontraremos con el nombre de “preloader”
y en las demás marcas, simplemente como “boot”.
EEr

Dependiendo de la marca del dispositivo.

38
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
ABOOT

Este es, en muchos casos, el ultimo boot en la secuencia de encendi-


do, en el se encuentra el kernel que inicia el sistema operativo. En
muchos casos, es el encargado de generar los protocolos de comuni-
cacion alternativos USB que manejan los dispositivos, tales como

rraa
“download mode”, “update mode” “FTM”, “Fastboot” entre otros.
No siempre es asi, en algunas marcas agregan otra partición encarga-
da de ello, o esa misma la subdividen en varias particiones.

re
DRK
Device Root Key, es implementada por Samsung para proteger sus

er
dispositivos, es una clave que se inyecta en el equipo desde su fabri-
cacion y protege al dispositivo de una intervención de sistema de ter-
ceros no autorizados por Samsung.
H
GPT y MBR

Recordemos que nuestro teléfono es como una minicomputadora y,


to

al igual que la PC, tiene un disco duro, en este caso, una memoria in-
terna (eMMC, eMCP o UFS). Esta unidad de almacenamiento, re-
es

quiere de particiones o unidades lógicas donde almacenar la


información. Estas particiones funcionaran de manera independiente
en base a su contenido, aun cuando todas estén dentro del mismo es-
rnn

pacio físico, en este caso, la memoria interna. Para que el sistema


operativo pueda almacenar información en cada una de las particio-
nes, estas requieren tener un sistema de archivos o mejor conocido
EEr

como formato, de esta manera, ya podrá almacenar información. Al-


gunos de los fortamatos que encontramos son EXT4 o EXT2.
Ahora, para que el sistema operativo pueda acceder a cada una de es-
tas particiones, requiere de una tabla de particiones, que es la que or-
ganiza a todas las particiones y su contenido. Tomando esto

39
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
encuenta, encontramos que en nuestros dispositivos, siempre vere-
mos una partición principal denominada GPT o MBR.
MBR (Master Boot Record) es el estándar más viejo que se utilizaba
en dispositivos antiguos para organizar las particiones. Este vino a
ser sustituido por GPT (GUID Partitions Table).
La principal diferencia entre uno y otro, es que, el primero, es decir,

rraa
MBR, solo soporta hasta 4 particiones, se le pueden agregar otras
como “particiones extendidas” pero bajo el mismo sistema MBR, por
lo cual, no era útil para los nuevos sistemas de android, los cuales
contienen muchas mas particiones.

re
En cambio GPT, soporta hasta 128 particiones, lo cual es más con-
veniente para Android. En el sistema MBR las particiones se identi-

er
fican por direcciones hexadecimales, mientras que en GPT es más
sencillo identificarlas por el nombre de la misma. Sin embargo, en la
mayoría de los dispositivos, encontramos una combinación de ambos
H
para el buen funcionamiento del mismo.
En el caso de los equipos Huawei mas recientes, con procesadores
Kirin, no utilizan ni GPT ni MBR, si no, que utilizan EFI, un sistema
distinto a los antes mencionados.
to

Protocolo Sahara y Firehose


es

Todos los teléfonos Qualcomm basados en MSM (Mobile Station


Modem), tienen un modo de conexión especial denominado Emer-
rnn

gency Download Mode (EDL), este modo especial hace que el dis-
positivo se identifique a si mismo como Qualcomm HS-USB 9008
mediante la conexión usb. Este modo es implementado por el proce-
EEr

sador del dispositivo, a nivel de hardware.

40
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Este modo implementa el protocolo Qualcomm Sahara, el cual utiliza
loaders OEM firmados digitalmente para trabajar por medio de USB.
Este loader o “programador” implementa el protocolo “Firehose” el
cual permite que un tercero pueda enviar comandos y/o escribir en el
almacenamiento del dispositivo, ya sea eMMC o UFS.
En los nuevos dispositivos, estos loader son .ELF, en viejos disposi-

rraa
tivos son .MBN.

re
er
H
Este tipo de conexión (EDL) puede ocurrir por varios motivos. Regu-
larmente cuando un equipo qualcomm es dañado del software, ya sea
to

que hayas intentado degradarlo, parcharlo o bien manipularon el


software de manera incorrecta y dañaron alguna partición de booteo
o el boot en si mismo, esto ocaciona que el dispositivo no encienda
es

y, regularmente, se quede en modo EDL y digo regularmente porque


en muchos equipos nuevos este modo de conexión ya esta desactiva-
do, por lo tanto, ya no genera dicho puerto, haciendo esto para que
rnn

no pueda ser manipulado por terceros mediante cable usb.


Tambien puede accederse a este modo de manera intencional, para
EEr

poder trabajar con el dispositivo en este tipo de conexión.


Para ello, muchos equipos dejan acceder a este modo, realizando un
corto entre dos puntos de Test (TestPoint), lo cual, al realizar este
TP, lo que hace es interrumpir la comunicación entre el PBL y el

41
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
SBL, por lo que, al no poder acceder al SBL, el PBL se queda activo
y manda al equipo a EDL.
En la siguiente imagen podemos ver el test point de un galaxy s7, es-
se te encuentra en el soporte de Medusa Pro. En el nos indica que
hagamos un puente entre ese punto y tierra, para que de esta manera
sea generado el puerto EDL.

rraa
re
er
H
to
es
rnn

En algunos dispositivos, se puede acceder a este modo por medio de


EEr

cables denominados “deep flash”, ya que, en algunos modelos, cuan-


do inicia la secuencia de encendido, el equipo verifica la línea de Da-
tos positivo del centro de carga, para ver si no esta interrumpida, si
esta línea esta interrumpida o en corto, el equipo no enciende y en
automativo entra en EDL, por eso es que venden cables “deep flash”
para equipos Xiaomi, por ejemplo, que manejan este tipo de revisión

42
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
en la secuencia de encendido. Sin embargo, no todos los teléfonos
tienen esta característica, es por ello que este cable no funciona en
todos los teléfonos.

rraa
re
er
H
to

Otra manera de acceder a este modo, es directamente desde ADB,


es

usando el comando “adb reboot edl”, pero obviamente, para ello de-
bes de tener acceso al menú y a las opciones de desarrollador.
rnn
EEr

Tambien se puede acceder a este modo presionando las dos teclas de


volumen juntas y conectando el equipo al cable usb, muchos equipos

43
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
disponen de esta característica para poder ingresar a EDL, en otros
no.
Muchos otros equipos, pueden acceder a este modo desde fastboot o
desde FTM, mediante comandos, como los ZTE.
En la siguiente imagen podemos observar que Uni Android Tool tie-
ne esta opción de reboot desde varios tipos de conexión, como por

rraa
ejemplo, de FTM a EDL o DFU a EDL, Fastboot a EDL y ADB a
EDL.

re
er
H
Los loaders firehose vienen a ser los que los DA a los MTK, son esa
to

autorización para que puedas entrar a manipular el contenido de la


memoria, por eso es que son difíciles de conseguir. En la web puedes
encontrar muchos, incluso las cajas básicas los traen precargados, al
es

menos la mayoría, sin embargo, hay muchos otros, sobre todo de


equipos nuevos, que no hay loader disponible en la web, es entonces
cuando no nos sirve de nada tener el dispositivo en EDL, ya que no
rnn

podremos trabajarlo por USB, de ahí la importancia de saber soldar y


realizar reballing, puesto que la única alternativa que tenemos en este
caso, es realizar la conexión ISP o bien, remover la memoria, en el
EEr

caso de que no exista pinout.


Sobre todo en los dispositivos con memoria UFS, ya que, para este
protocolo de memoria, no existe pinout como tal, debido a que ya
tienen otra estructura, por lo tanto, si no cuentas con el loader corres-
pondiente, tendras que retirar la memoria y utilizar una box que so-

44
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
porte UFS por socket, que, hasta el dia de hoy, solo Nuprogram y
easy jtag lo soportan, próximamente medusa pro II también lo hara,
pero por lo pronto, solo esas dos.
Estos loaders, van ligados a la estructura de cada procesador, y pue-
den ser compatibles entre dispositivos, es decir, entra diferentes mar-
cas de teléfonos.

rraa
re
er
Por ejemplo, un LG LS676 trae procesador Qualcomm MSM8909,
H
un Motorola de cualquier modelo, también puede traer el mismo pro-
cesador, o un teléfono Samsung, o Alcatel, etc. Esto quiere decir, que
el loader para el procesador MSM8909, puede ser compatible con
esas diferentes marcas de teléfonos, ya que tienen el mismo procesa-
to

dor. Pero también puede suceder lo contrario, es decir, que no sean


compatibles, aun y cuando tengan el mismo procesador, ya que, traen
es

otro nivel de seguridad o traen alguna variante. Es el caso, precisa-


mente, del lg ls676, el cual, tiene procesador MSM8909, sin embar-
go, ningún loader es compatible con el, por lo que, al no existir
pinout para ese dispositivo, y no poder trabajarlo por USB a falta de
rnn

loader, la única opción para poder realizar el desbrick, es quitar la


memoria y trabajarla directamente.
EEr

45
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
Capítulo 2
H
to
es
rnn
EEr

47
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
eMMC/eMCP
H
to
es
rnn
EEr

Vendido a 48
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En la actualidad existen tres protocolos de memoria en los dispo-
sitivos móviles, específicamente, estas son; eMMC, eMCP y UFS. Es-
to hablando exclusivamente de Android, dejando por ahora fuera a
Apple.
Con la llegada del sistema operativo Android, el almacenamiento
en los dispositivos se tuvo que modificar forzosamente, para ampliar el
espacio donde se alojaría dicho sistema operativo, ya que, antes de el,

rraa
un teléfono no requería tanto espacio en la memoria, puesto que el sis-
tema operativo y sus aplicaciones no lo requerían, por lo tanto, muchos
utilizaban memorias eprom para ello, al igual que en las computado-
ras, quien no recuerda, con algo de nostalguia por cierto, los mentados

re
diskets, que muchos de nosotros usábamos en la secundaria para poder
guardar tareas, esos diskets no tenían nada de espacio, porque los tra-
bajos de entonces no lo requerían, luego evoluciono el sistema de al-

portátiles…etc.
er
macenamiento, algo natural, llegaron las memorias USB, discos duros

Bien, en este capitulo analizaremos los protocolos eMMC y


H
eMCP, dantole un capitulo exclusivo a UFS.

Un teléfono requiere, obviamente, de un lugar donde guardar su


to

sistema y los datos del usuario, al igual que en las computadoras, que
tienen un disco duro, en nuestros teléfonos tenemos las memorias
eMMC y eMCP.
es

Al referirnos a memoria eMMC (embedded MultiMediaCard),


nos estamos refiriendo a un circuito de tipo BGA (Ball Grid Arrey), el
cual solo funciona como sistema de almacenamiento, es decir, dentro
rnn

del circuito físico, solo existe una memoria interna, nada mas. En
cambio, al referirnos a eMCP (embedded MultiChip Package), nos es-
tamos refiriendo también a un circuito de tipo BGA, pero que contiene
EEr

dentro de el una memoria de almacenamiento interno no-volatil y una


memoria voltatil, es decir, la memoria RAM.

49
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Ambas comparten el mismo circuito físico, sin embargo, cada una
es independiente. Esto se hace con la finalidad de ahorrar espacio en
los teléfonos y, de esta manera, poder brindar un tamaño ideal para el
usuario final.

Aquí vemos en esta imagen la diferencia entre una y otra.

rraa
re
er
H
Cada memoria, independientemente de que sea eMMC o eMCP, como
to

mencionamos, va encapsulada en un circuito de tipo BGA, los mas co-


nocidos (al menos en Mexico) son;
es

-BGA221
-BGA153/169
-BGA186/162
-BGA254
rnn

Esto es de suma importancia, ya que, lo ocuparemos siempre en nues-


EEr

tro trabajo. Cada una se diferencia fácilmente de la otra, por el acomo-


dado de las bolitas de soldadura que traen debajo. Utilizaremos
conocer cada una para cuando vayamos a utilizar el socket de alguna
de las cajas que trabajen con emmc o bien, para cuando quieramos sa-
car el pinout de cualquiera de ellas.

Vendido a 50
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Aquí algunas imágenes.

BGA221

rraa
re
er
H
Este tipo de memoria, solo la encontraremos en formato eMCP, es de-
cir, memoria mas ram, nunca en solo memoria. Es muy común encon-
trarla en las diferentes marcas de teléfonos, tanto LG, como Samsung,
Motorola, ZTE, etc.
to

BGA153/169
es
rnn
EEr

Este tipo de memoria si lo podemos encontrar tanto en eMMC como


en eMCP, también varía su tamaño, una es más grande que la otra.

51
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
BGA186/162

rraa
re
er
Este tipo de memoria es muy común encontrarla en equipos de gama
baja, tales como M4, Blu, Lanix, etc.
H
BGA254
to
es
rnn
EEr

Esta memoria la podemos encontrar no solo en protocolo eMMC, si


no, también en protocolo UFS.

Vendido a 52
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Bien, una vez que podemos identificar visualmente cada una de ellas y
que conocemos, a grandes rasgos cual es la principal diferencia entre
una y otra, podemos analizar más a detalle la esturctura física y de
software de este protocolo de memoria.

En Mexico encontraremos diferentes marcas de memorias, las


más comunes son Samsung, Sandisk, Toshiba, Shynix y Macron. Esto

rraa
es totalmente independiente de la marca del teléfono, de esta manera,
podremos encontrar equipos marca Samsung con memorias marca
Shynix, por ejemplo. O equipos LG con memorias marca Samsung, lo
que nos indica que no tiene relevancia la marca del teléfono, si no, la

re
marca de la memoria.
Cada memoria cuenta con un firmware especial para ella, que es
totalmente independiente del Sistema Operativo del teléfono. El firm-

er
ware mas reciente para protocolo eMMC/CP, es la versión 5.1, que es
la que estaremos analizando en este libro.
Cabe destacar, y esto es muy importante, que las únicas memorias
que pueden ser modificadas con las boxes, al menos en tamaño de par-
H
ticiones, booteo y demás, son las de la marca Samsung, por lo tanto,
son las que utilizaremos cuando vayamos hacer un reemplazo de me-
moria.
to

Independientemente de que una sea solo memoria y la otra sea


memoria mas ram, nos enfocaremos al estudio del area de memoria no
volátil, ya que, nustras cajas, no acceden a la memoria ram al trabajar
con ellas, por lo tanto, será independiente si trabajamos con una o con
es

otra, ya que, en ambas, estaremos trabajando solo con el area de me-


moria no voltatil. Tan solo nos interesara si es una u otra, al momento
de hacer un reemplazo de memoria, ya que, ahí si, ocuparemos saber
rnn

que protocolo es, de ahí en fuera, no será necesario.

Estudiemos entonces, como es que se compone una memoria en


EEr

su parte física primero.

53
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
ESTRUCTURA DE UNA MEMORIA EMMC/CP

Una memoria se compone de dos partes importantes, como ya lo


mencionamos, estos son; Controlador y area de NAND, las cuales ana-
lizaremos por separado para su mayor comprensión.

rraa
CONTROLADOR

Anteriormente los teléfonos manejaban memorias de tipo eprom,

re
las cuales se podían reprogramar por medio de pulsos eléctricos, no
contaban con mucho espacio de almacenamiento, porque el dipositivo
no lo requería, ya que su sistema operativo era primitivo y solo servia

er
para las funciones básicas; hacer y recibir llamadas, hacer y recibir
mensajes, agenda y juegos. Por ello es que no requería de mucho espa-
cio de almacenamiento.
H
Todo esto cambio con la llegada del sistema operativo Android,
ya que, este demandaba un mayor almacenamiento tan solo para alo-
jarse, independientemente de los datos del usuario, es por ello que los
to

fabricantes de teléfonos optaron por crear memorias de tipo MMC, las


cuales ya contaban con mayor espacio donde podía ser alojado facil-
mente el sistema operativo Android.
es

En ese tiempo, el procesador era el encargado de hacer practica-


mente todas las tareas del equipo, por lo cual, los teléfonos eran mas
lentos, se calentaban mucho o se ciclaban, ya que, se sobrecargaba el
rnn

procesador por tantas tareas a la vez. Los ingenieros no tardaron en


desarrollar una solución a este problema, creando asi, al siguiente pro-
EEr

tocolo de memoria; la eMMC.


Cuando los equipos traian memorias de tipo MMC y el procesa-
dor era el encargado de realizar la mayor parte de las tareas, nosotros
realizábamos procedimientos JTAG, los cuales, tenían mas puntos de
conexión porque se conectaban mas al procesador que a la memoria,
ya que este era el que autorizaba o denegaba el acceso a la memoria.

Vendido a 54
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Esto cambio con la llegada de la eMMC, puesto que la gran ven-
taja de este protocolo de memoria, es que le agregaron al circuito un
CONTROLADOR. El cual fungía como un pequeño administrador de
la memoria para, de esta manera, reducirle responsabilidades al proce-
sador y asi este se enfocara en otras tareas. Esto redujo considerable-
mente el consumo de energía de los dispositivos, mejoro la velocidad

rraa
de transferencia y procesamientos de archivos y de datos entre otras
cosas más.
Para comprender mejor la función del controlador, debemos ana-
lizarlo un poco más a detalle.

re
Dentro del circuito físico agregaron a este “ayudante” del procesador,
el cual, se encarga de administrar el area de NAND, es decir, la memo-

er
ria en si, ya que el area de NAND es donde se aloja el sistema operati-
vo del dispositivo y por ende, los datos del usuario.
H
Nuestro controlador, le envía información de todo lo que acontece en
el area de NAND a nuestro procesador asi, de esta manera, el procesa-
dor se enfoca en otros trabajos mientras el controlador hace su tarea.
Para poder comunicarse con el procesador, el controlador requiere de
to

lineas de comunicacion entre ambos, por ello, utiliza tres medios, estos
son:
es

- CLK
- CMD
- Data 0-7
rnn

Estos son las tres líneas que utiliza para comunicarse el procesador con
el controlador y viceversa. Ademas de estas tres líneas, también re-
EEr

quiere de dos voltajes de alimentación, suministrados por el PMIC, es-


tos voltajes son:

- VCC (2.8 a 3.3v)


- VCCQ (1.8v a 3.3v)

55
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
El voltaje VCC es el que alimenta al area de NAND y VCCQ alimenta
al controlador.

Aquí una tabla que explica cada uno de los puntos de conexión.

rraa
re
er
H
to
es
rnn
EEr

Vendido a 56
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
Como vemos en la imagen anterior, nuestra memoria requiere de
H
dos voltajes de alimentación. Uno alimenta al area de NAND y otro
alimenta al area de Controlador. Estos dos voltajes son suministrados
por nuestro PMIC y, este a su vez, toma ese voltaje de nuestra batería.
to

Estos voltajes se conocen como VCC y VCCQ, en donde VCC es un


voltaje que ronda de 2.8 a 3.3v y VCCQ ronda de 1.8 a 3.3v.
Es por ello que encontramos siempre en nuestros adaptadores ISP es-
es

tos dos puntos a soldar en nuestro dispositivo.


En el caso del adaptador de Medusa y Easy jtag, los encontramos sim-
plemente como 1.8 y 2.8, en la mayoría de los pinouts también, sin
rnn

embargo, en UFI por ejemplo, lo encontramos como VCC y VCCQ.


EEr

Por el lado de las líneas de comunicación, tenemos a CMD (Coman-


dos), esta línea, como su nombre lo indica, son comandos de entrada y
salida, de procesador a memoria y viceversa.
CLK (Clock), es el pulso de reloj del procesador.
Data 0-7 son las líneas de datos de entrada y salida entre procesador y
memoria.

57
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
Aquí podemos ver un ejemplo de la configuración de voltaje VCC,

re
que aparece en Medusa Pro. Nos podemos encontrar en varios casos
en los que requiramos modificar los voltajes para que el equipo sea re-

er
conocido, por ejemplo, en algunos casos específicos como el LG
LS777 que requiere subier el voltaje a 2.8v para que lo pueda leer.
Vamos a analizar cada uno de ellos a detalle mas adelante, por lo pron-
H
to, veamos una imagen donde se observa la manera como trabaja el
procesador con la memoria.
to

En la siguiente imagen podemos ver los tres circuitos indispensables


para el funcionamiento de un equipo. Encontramos entre ellos las li-
neas tanto de alimentación como de comunicación entre ellos. Pode-
es

mos observar a detalle cuales son solo de entrada y cuales son


bidireccionales.
Al procesador siempre lo encontraremos con el nombre de “host”
rnn

Es importante que se sepa identificar cuales son las líneas de comuni-


cacion y cuales las de alimentación, de donde vienen y hacia que area
de la memoria van.
EEr

Mas adelante estaremos analizando a detalle cada una de ellas.

Vendido a 58
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
H
to
es
rnn
EEr

59
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
CLOCK (CLK)

Esta es la señal o pulso de reloj que sale del procesador hacia la


memoria, es solo de entrada, no bidireccional. Esta sincroniza la entra-
da y salida de datos entre procesador y memoria.
En cada estado alto o bajo de esta señal, una transferencia de bits se
lleva acabo en la línea CMD y Data 0-7

rraa
Por cada ciclo de esta señal, pueden enviarse atravez de CMD y de las
líneas datos 1 bit o 2 bits, en caso de que envie 1 bit estaría trabajando
en SDR “single data rate” si trabaja a 2 bits por ciclo de reloj, entonces
estaria trabajando en DDR“dual data rate”.

re
Esta línea se mide en Mhz. La cantidad máxima de tolerancia de la
frecuencia, va a variar según las especificaciones del circuito.
Esta señal de reloj, puede soportar hasta 200Mhz, esta frecuencia va a

er
variar según el estado en el que se encuentre la memoria.
H
to
es
rnn

Aquí podemos ver en esta imagen un ejemplo de donde aparece la fre-


EEr

cuencia de reloj en una caja de servicio, en este caso, usamos como


ejemplo Medusa Pro de GSM SERVER. Tú puedes configurar ma-
nualmente la frecuencia que desees.
A veces es útil disminuir la frecuencia cuando no lee la información de
android del equipo, o que no lee la tabla de particiones del sistema
operativo, puedes bajarla a 4Mhz y ya la lee bien.

Vendido a 60
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
COMANDOS (CMD)

Esta es una línea bidireccional, es decir, de entrada y salida, a di-


ferencia de la CLK que solo es de entrada a la memoria.
Esta línea es usada por el procesador para enviarle un comando a la
memoria, es decir, un comando de entrada, y la memoria a su vez, res-
ponde a dicho comando con una respuesta de retorno, por la misma lí-

rraa
nea, es decir, de salida, por ello es que se le llama bidireccional, I/O
(in/out).

re
er
H
to

Ahora, la memoria trabaja en dos estados lógicos; Open-drain y Push-


Pull. En el estado Open-drain, esta línea puede trabajar a una frecuen-
es

cia de 400Khz y en el estado Push-Pull trabaja hasta 200Mhz.


La primera etapa lógica, es para iniciar el circuito. Cuando la memoria
es reseteada o iniciada por primera vez, se inicia en modo Open-drain,
en este modo, el procesador usa la línea de comandos para envíar el
rnn

primer comando hacia el controlador y al mismo tiempo, la única línea


de datos que se habilita en este modo, es Data 0.
El controlador una vez que recibe el comando del procesador, envía
EEr

una respuesta por la misma línea CMD, iniciando asi la secuencia de


encendido del teléfono.
En esta línea siempre encontraremos una resistencia Pull-Up, regular-
mente de 10k, para poder tolerar o controlar la transición de Open-
drain a Push-Pull, pero eso lo veremos mas adelante.

61
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
DATOS (D0-D7)

Las memorias eMMC/CP, trabajan con ocho líneas de datos, que van
de Data 0 a data 7. Esta línea es bidireccional, es decir, de entrada y
salida del procesador a la memoria y viceversa.
La única línea que trabaja en Open-drain es Data 0, las demás trabajan
en Push-pull.

rraa
Ahora, solo uno de los dos circuitos pueden enviar datos a la vez, es
decir, solo el procesador puede enviar datos por las líneas o solo la
memoria, no los dos al mismo tiempo, esto es lo que hace su trabajo
mas lento a diferencia de UFS que ya puede trabajar enviando y reci-

re
biendo datos al mismo tiempo.
Los datos pueden ser medidos en bits, D0 (1bit), D0-D3 (4 bit) y D0-
D7 (8 bit).
Por ello es que en las cajas vemos la opción de “bus mode” para selec-

er
cionar la velocidad de transferencia de datos entra la caja y el equipo.
Obviamente cuando conectamos el dipositivo por ISP, solo podemos
trabajar a 1bit de velocidad de transferencia de datos, ya que solo es-
H
tamos trabajando con la línea D0.
to
es
rnn
EEr

Algunas cajas, como Medusa Pro y Easy Jtag, manejan adaptadores de


4bits, pero para ello, requieres conectar las líneas D0-D3, sin embargo,
el problema esta en que la mayoría de los pinouts que traen las cajas o
que encuentras en la red, son de 1 bit, es decir, solo aparece D0.
Para poder trabajar con las ocho líneas de datos, tendrías que remover
la memoria de la tarjeta y montarla en el socket correspondiente a tu

Vendido a 62
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
BGA, de esta manera, si podrías trabajar con 8 bits, es decir, con las
ocho líneas de datos.
Sin embargo, por ejemplo, Medusa Pro, solo puede trabajar a 4 bits,
aun teniendo la memoria montada en su socket, esa es una desventaja
de esta box.
Esta línea de datos solo puede trabajar en modo push-pull.

rraa
DATA STROBE

re
En la última versión de firmware de memoria eMMC, es decir, la
5.1, se utiliza esta línea como frecuencia de reloj de retorno para sin-
cronizar los datos de salida de la de la memoria hacia el procesador,

er
pero en modo HS400, que es soporta hasta 400MB/s.
H
to
es
rnn
EEr

63
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En la siguiente imagen podemos el esquema de cada una de las líneas,
si ponemos atención, en la línea CMD, esta pasa atravez de una resis-
tencia pull-up de 10k y, por el otro extremo de la resistencia, para la
línea VCCQ, por lo que, en cada pinout, encontraremos en la misma
resistencia los dos puntos de conexión.

rraa
re
er
H
CLK también pasa por una resistencia, pero esta no es pull-up, es una
resistencia de 30ohms. VCC y VCCQ pasan por una serie de conden-
to

sadores, que se encuentran regularmente alrededor de la memoria.


Sin embargo, estas líneas de voltaje al ser originadas en el PMIC, al-
gunas veces encontraremos los pinouts, en este caso, los condensado-
es

res, cerca del pmic, como en el caso de el moto g4 que el voltaje VCC
lo tiene del otro lado de la tarjeta pegado al pmic.

Ahora, estas son las líneas de comunicación entre procesador y contro-


rnn

lador, sin embargo, el controlador tiene que enviarle datos al procesa-


dor por medio de las líneas D0-D7, estos datos son informes de todo lo
EEr

que ocurre en el area de NAND que mas adelante analizaremos.


El Controlador le envía esta información al procesador por medio de
REGISTROS, los cuales analizaremos a continuación.

Vendido a 64
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
REGISTROS

El controlador maneja seis registros mediante los cuales le envía la in-


formacion del area de NAND al procesador, estos registros son:

- CID
- CSD

rraa
- EXT_CSD
- OCR
- RCA
- DSR

re
Sin embargo, nosotros solo trabajamos con tres de ellos:

- CID
- CSD
- EXT_CSD er
H
Y de estos tres, solo uno es el que mas utilizamos, este es el
EXT_CSD. Sin embargo, para fines de conocimiento, describiré cada
uno de ellos.
to

CID (Card Identification)

Este registro, como su nombre lo indica, contiene la información de la


es

memoria que se utiliza durante la fase de identificación de la misma al


momento de encendido o reseteo.
Cada memoria
rnn
EEr

65
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En la imagen anterior podemos observar este registro en el log de ope-
raciones de easy jtag. Como podemos ver, es una serie de números y
letras que indican una gran variedad de información respecto a la me-
moria.

CSD (Card Specific Data)

rraa
Este registro nos indica una información mas específica de la memo-
ria, sobre todo de cómo accede a la información contenida en la me-
moria, como por ejemplo, la velocidad a la que se accede a cada block
o cada pagina de la memoria, el formato de los datos, la frecuencia a la

re
que trabaja, entre otras cosas.

er
H
to

En la imagen anterior podemos observar el log de operaciones de easy


jtag donde nos muestra el registro CSD.
es

En la imagen anterior podemos observar varia información que nos in-


dica este registro, como por ejemplo:

EMMC Manufacture: Esto se refiere a la marca de la memoria, diji-


rnn

mos que puede ser Samsung, Sandisk, Toshiba, Macron, Shynix, etc.

EMMC Manufacture ID: Cada marca de memoria tiene un código


EEr

hexadecimal que identifica su marca, en el caso de la imagen es 0x15


para Samsung.

-Samsung 0x15
-Shynix 0x90
-Toshiba 0x11

Vendido a 66
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
EXT_CSD (Extended Card Specific Data)

Como su nombre lo indica, este registro es mas especifico que el CSD,


de hecho, este es el registro mas importante para nuestro trabajo diario
en el uso y manejo de este tipo de cajas, ya que en el viene especifica-
do el tamaño de cada una de las particiones de la memoria, que anali-
zaremos mas adelante, y sobre todo, la configuración de booteo de la

rraa
memoria en base al tipo de procesador que maneje.

Este registro es el que utilizaremos mayoritariamente cuando vayamos


a reemplazar una memoria, puesto que, tendrá la información necesa-

re
ria para que nuestro dispositvo pueda funcionar y bootear bien.
En la siguiente imagen volvemos a ver un log de operaciones de easy
jtag en donde nos muestra, en esta ocacion, el registro ext_csd.

er
H
to
es

Extended CSD rev: Esta parte nos indica la versión de firmware de la


memoria, recordemos que cada memoria tiene un firmware indepen-
diente al sistema operativo del teléfono, denominado FFU. En el caso
rnn

de la imagen anterior nos indica que tiene una versión 5.01 de firmwa-
re de memoria. La versión mas reciente de firmware para memorias
EEr

protocolo eMMC o eMCP es la versión 5.1.

67
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Boot Configuration (Partition Config): Esta parte nos indica desde
que partición esta booteando el equipo o si no bootea desde ninguna.
Recordemos que cada memoria puede alojar el archivo boot en una
partición de las cuatro que tiene, según desde donde boote o si no boo-
tea de ninguna partición y en base a si envía o no envía boot ack, nos
va a generar una configuración hexadecimal que nos hara referencia a
que marca de procesador tiene nuestro dispositivo, si esta configura-

rraa
cion esta mal, el equipo no encenderá. Aquí la tabla de configuración
hexadecimal para cada procesador.

re
CONFIGURACION DE BOOTEO

er
H
Qualcomm Configuracion Hexadecimal
UserArea
No envía ACK 0x00/0x38
to

MTK/Exynos
Boot 1
Si envía ACK 0x48
es

Hi-Silicon/Broadcomm
rnn

Boot 1
No envía ACK 0x08
EEr

Vendido a 68
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Boot bus config: Esta parte nos indica si CMD trabaja con 1bit o 2bit
por ciclo de reloj, es decir, en single data rate (SDR) o doublé data rate
(DDR)
La línea CMD puede enviar 1 bit de información por cada ciclo de re-
loj de la línea CLK (SDR) o bien 2 bits (DDR), esto lo define el fabri-
cante por equipo. Al configurar a 1bit por ciclo de reloj (SDR) nos
genera una configuración hexadecimal 0x00 y si trabaja a 2bits por ci-

rraa
clo de reloj (DDR) nos genera 0x01.

H/W Reset Function (RST_N_FUNCTION): Esta parte nos indica


con una clave hexadecimal si la función de reset esta habilitada o no.

re
Esta función no necesariamente tiene que estar activa, si esta activa
nos lo indicara como 0x01 de lo contrario, si no esta activa, nos la in-
dicara como 0x00.

er
PARTITIONING_SUPPORT: Esto nos indica si la memoria tiene la
capacidad de generar las GP partitions (General Porpuse), que vere-
mos mas adelanta. No todas las memorias tienen esta característica.
H
OCR (Operation Conditions Register)
to

Apartir de este registro en adelante, ya no los podremos visualizar en


ningún log de operaciones de ninguna caja, excepto en algunas oca-
ciones en las que nos marque algún error, podremos ver que nos indica
es

error de OCR.
Este registro es el encargado de informar sobre el voltaje de VCC, para
que la box pueda determinar de manera automática que voltaje confi-
rnn

gurar para conectar de manera estable el equipo.


Muchas veces este registro viene protegido y la box no es capaz de in-
terpretarlo, por ello es que no detecta el equipo o el voltaje de manera
EEr

automatico, si no, que hay que configurarlo de manera manual.


Regularmente cuando la caja no detecta de manera automática el vol-
taje requerido en VCC, solo basta con modificar el voltaje de manera
manual a 2.6 o 2.8v y conectar el cable usb adicionalmente, para que
ya pueda sincronizar de manera estable el dispositivo conectado por
ISP.

69
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
DSR (Driver Stage Register)

Este registro es utilizado para la configuración del pre driver de los


transistores complementarios de las líneas CMD y Data. No hay mu-
cho que decir sobre este registro, nunca lo vamos a utilizar.

RCA (Relative Card Address)

rraa
Contiene algunas de las direcciones de información dentro de la me-
moria, sobre todo en su fase inicial.

re
ESTADOS DE UNA MEMORIA

er
Toda la comunicación que ocurre entre el Master (Procesador) y
el Esclavo (Memoria), es controlada por el primero (Master), el Master
H
envía un comando por la línea CMD y este a su vez recibe una res-
puesta por la misma línea.
La memoria trabaja en cinco estados o modos de operación, los cuales
to

enumeraremos a continuación:

Boot Mode (Modo de booteo o inicialización)


es

Como su nombre lo indica, este modo es el primero que se activa en la


memoria al momento de encender el dispositivo, el procesador envía
rnn

esta señal por medio de CMD, siendo el CMD0 el primer comando


que se envía, previa inicialización de la señal de reloj (CLK), a la me-
EEr

moria.

Vendido a 70
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Device Identification Mode (Modo de identificación de la memo-
ria)

Este modo se va activar inmediatamente después de finalizada la etapa


o modo de Boot y, como su nombre lo indica, es para identificar la
memoria, en base al CID que ella tenga.

rraa
Interrupt Mode (Modo de interrupción)

re
Usando la traducción literal, este modo es cuando se interrumpe la
transferencia de datos entre CPU y memoria, ambos quedan interrum-
pidos y esa es la única señal o información que se recibe.

er
Data Transfer Mode (Modo Transferencia de Datos)
H
Este modo es inicializado una vez que se detecta el registro RCA, el
HOST comienza la transferencia de datos después de concluida la eta-
pa o modo de identificación.
to

Inactive Mode (Modo Inactivo)


es

La memoria puede entrar en este estado si existe una alteración en el


voltaje de entrada o bien alguna otra anomalía. Tambien puede entrar
por medio del HOST mediante un comando para ello.
rnn

Como mencionamos antes, la línea CMD trabaja en dos estados,


Open-Drain y Push-Pull, en base a eso, los modos o estados de la me-
EEr

moria también trabajaran en ambos estados, aquí una tabla de que mo-
do trabaja en que estado.

71
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Los siguientes modos o estados de la memoria, trabajan en Open-
Drain
- Boot Mode
- Identification Mode

Los siguientes modos o estados de la memoria, trabajan en Push-Pull.

rraa
- Data Transfer Mode
- Interrupt Mode

re
Una vez que comienza el encendido del dispositivo, y que la señal del
pmic llega al procesador, este activa la línea CLK, es decir, la señal de
reloj, para comenzar a sincronizar la entrada y salida de comandos y la

er
entrada y salida de datos. La siguiente línea que se activa es CMD, en-
viando el primero comando, donde le indica a la memoria que quiere
H
entrar en Boot Mode, esta prepara el boot para enviárselo al HOST por
medio de las líneas de datos, específicamente la línea Data 0, que es la
que primera que se activa. En esta etapa, en la que se envía el primer
comando (CMD0) y el boot por Data 0 al Host, estamos trabajado en
to

Open-drain.
Una vez que el Host termina la etapa de boot, este comienza a trabajar
es

en modo push-pull, liberando las demás líneas de datos, es decir, ya no


trabaja solo con Data 0, si no, que trabaja con todas las líneas.
Para que el Host pueda leer el boot y saber en que partición se encuen-
tra el mismo, se requiere que el Host mantenga un estado bajo en la li-
rnn

nea CMD y que el registro EXT_CMD le indique en que partición se


encuentra el boot.
EEr

Para ello debemos tomar en cuenta que para cada partición donde se
aloje el boot y si envía o no envía ACK, se generara una clave hexade-
ciamal, esta clave es muy importante porque indica que tipo de proce-
sador tiene el equipo, si esta clave esta mal configurada, el equipo
simplemente no encenderá. Aquí dejo la table de configuración hexa-
decimal en base al procesador.

Vendido a 72
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Area de NAND

Bien, hemos estado hablando sobre todo el trabajo que realiza el con-
trolador, y siempre mencionamos que se encarga de administrar el area
de NAND y que le envía información sobre esta al CPU y todo eso,
pero; ¿Qué es el area de NAND?

rraa
Pues bien, esta area es básicamente el disco duro de nuestro disposito-
vo, es la memoria en si, ya que, en ella se aloja nuestro sistema opera-
tivo, en este caso, Android. Y como todo disco duro, requiere de
particiones para poder funcionar. En el caso de una memoria eMMC o

re
eMCP, esta area de NAND puede contener hasta ocho particiones,
cuatro principales y cuatro más adicionales en casos específicos, estas
particiones son:

- Boot 1
- Boot 2
- RPMB
er
H
- UserArea

Y las cuatro extendidas o adicionales son denominadas General Porpu-


to

se Partitions o GP partitions, y son cuatro, que van desde GP1 hasta


GP4.
es
rnn
EEr

73
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Las particiones Boot 1 y Boot 2, son destinadas para alojar dentro de
ellas el bootloader o archivo boot que hace que nuestro dispositivo en-
cienda. Sin embargo, no todos los fabricantes deciden alojar ahí su
boot, por ejemplo, Qualcomm lo aloja en UserArea y no en alguna de
estas dos.

rraa
MTK por su parte, al igual que Exynos, Hi-Silicon y Broadcom, si uti-
lizan una de estas particiones para bootear desde ahí, usan especifica-
mente la partición Boot 1 para bootear desde ella.

re
er
H
to
es

El tamaño de estas dos particiones puede ir desde 128kb hasta 16mb,


aunque comúnmente las encontramos en 4096kb, es decir, 4mb.
rnn

Las dos particiones siempre deben ser el mismo tamaño ambas, no


puede variar el tamaño de ninguna de ellas de manera independiente,
EEr

siempre serán iguales.

Vendido a 74
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Como podemos ver en la imagen anterior, encontramos que ambas
particones son del mismo tamaño, 4096kb.

RPMB por su parte, se encarga de alojar archivos de seguridad del


dispositivo, como las configuraciones de la huella digital, Knox entre
otros archivos de seguridad.
Esta partición no puede ser modificada ya que esta encriptada con una

rraa
seguridad SHA-256 y se requiere tener la llave de encriptación para
poder acceder a ella.
Su tamaño es independiente de Boot 1 y 2 y de UserArea, este si lo
podemos modificar (el tamaño), mas no el contenido.

re
er
H
Aquí podemos ver que, en este caso, el tamaño de RPMB es igual que
el de Boot 1 y 2, sin embargo, no necesariamente tiene que ser asi, al-
gunas veces la podemos encontrar con un tamaño de 512kb o de 16mb.
to

UserArea por su parte, es donde se aloja el sistema operativo Android,


en este caso. Su tamaño depende de la capacidad de almacenamiento
es

física de la memoria, es decir, que puede ser de 1gb, 4gb, 8gb, etc. Su
tamaño no se puede modificar simplemente con alguna configuración,
ya que es físico.
rnn

Como mencionamos anteriormente, algunos fabricantes deciden alojar


dentro de userarea su boot, como en el caso de Qualcomm.
EEr

PROGRAMACION DE MEMORIA

Hay dos maneras de programar una memoria, estas son por ISP o di-
recto a la memoria (chip-off).

75
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
ISP (In-System Programming)

Al referirnos a ISP nos estamos refiriendo a un protocolo de co-


municacion. Su característica principal es que es la manera en que se
puede comunicar con un circuito de manera externa, es decir, sin nece-
sidad de retirarlo de la tarjeta.
A diferencia de JTAG, que es otro protocolo de comunicación donde

rraa
te puedes comunicar con varios circuitos montados en la tarjeta, sin
necesidad de retirarlos de la placa.
La principal diferencia, es que en ISP solo nos estamos comunicando
con un solo circuito y con ello podemos programarlo o testear su fun-

re
cionamiento.
En la actualidad, el ISP es el protocolo que se utiliza en los procedi-
mientos eMMC/CP, ya que, solo nos estamos comunicando con la

er
memoria y no con el procesador, es decir, con un solo circuito.
H
to
es
rnn

Al referirnos a ISP no es más que a lo que muchos llaman “jtag”, es la


conexión de cada uno de los puntos con los que se comunica el proce-
sador con la memoria, y que encontramos siempre en los pinouts de
EEr

cualquier caja.
Como en la imagen que encontramos arriba, es el adaptador ISP de
UFI box, donde encontramos al 2.8v y 1.8v como VCC y VCCQ res-
pectivamente, sin embargo, en los pinouts regularmente los encontra-
mos como 1.8 y 2.8.

Vendido a 76
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Es importante saber la definición de ISP porque en algunos casos, co-
mo al usar easy jtag o UFI box, nos pide forzosamente elegir el meto-
do de conexión que vamos a utilizar, ya sea por ISP o por socket.

rraa
re
er
Si nosotros elegimos ISP, en automatico nos deja la opción de trabajar
solamente con una línea de datos, la cual es Data 0, y a 1 bit de veloci-
dad.
H
to
es

En ambas imágenes anteriores podemos observar que tanto Easy Jtag


rnn

como UFI box piden que seas especifico en el tipo de conexión que
vas a utilizar, ya sea por ISP o direct eMMC. Caso contrario a Medusa
Pro, Medusa no pide esa especificación.
EEr

77
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
El siguiente modo de conexión es directo a la memoria o chip-off, que
no es mas que quitando la memoria de la tarjeta para trabajarla en el
socket, dependiendo el tipo de BGA, o bien, soldando los cables ISP
directo al circuito

rraa
re
er
H
En la imagen anterior podemos observar un ejemplo de cómo se co-
to

nectaria el circuito eMMC o eMCP por medio de conexión ISP. La


ventaja de esto es que no requerimos comprar el socket para poder tra-
bajar la memoria, la desventaja es que trabajaremos de manera lenta,
es

ya que, la conexión ISP solo puede trabajarse a 1bit o 4 bits, es decir,


con una sola línea de datos o cuatro máximo, no las ocho que tenemos
disponibles al trabajar en el socket.
rnn

1 bit (Data 0)
4 bit (Data 0, Data 1, Data 2 y Data 3)
EEr

8 bit (Data0, Data 1, Data 2, Data3, Data 4, Data 5, Data 6 y Data 7)

En cambio en el socket podemos trabajar a una velocidad distinta ya


que trabajamos con todas la líneas de datos.

Vendido a 78
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Cada caja viene con su socket regularmente, excepto Medusa Pro, esa
viene aparte, tienes que comprarlo por separado.

rraa
re
er
H
to

Ahora, para poder trabajar por conexión ISP, requerimos de un pinout,


tal como ya lo mencionamos, pero; ¿Qué es el pinout?
Estoy seguro que todos hemos visto en alguna caja o en la web pi-
es

nouts, que no es mas que la imagen donde nos indica donde soldar los
cables en la tarjeta.
rnn
EEr

79
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
H
to
es

Esta imagen, por ejemplo, es de un pinout de Medusa Pro, donde nos


rnn

muestra cada uno de los puntos de conexión donde debemos soldar


nuestros cables del adaptador ISP.
EEr

Los fabricantes ponen estos “puntos de prueba” fuera del circuito para
probar la memoria sin necesidad de quitarla de la tarjeta, esto lo hacen
antes de sacarla a donde será ensamblada ya como un Smartphone.

Recordemos que cada uno de los puntos de conexión viaja de un cir-


cuito a otro, por ejemplo, VCC y VCCQ, viajan desde el Pmic hasta la

Vendido a 80
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
memoria, pero en el camino, el fabricante los puso de manera externa
en algún o varios componentes fuera de los circuitos, para poder tes-
tearlos, esto para uso del fabricante, sin embargo, nosotros aprove-
chamos esta “vulnerabilidad” para poder conectarnos o “interceptar”
esta comunicación entre circuitos y asi poder manipular la memoria de
manera no autorizada.

rraa
re
er
En esta imagen podemos observar como las líneas de VCC y
VCCQ viajan de pad a pad, de circuito a circuito, pero en su camino,
salen fuera de ellos y tienen un punto de prueba en estos condensado-
H
res. Lo mismo pasa con CMD, CLK y D0.
En el caso especifico de estas líneas, CMD y CLK, ellas regularmente
salen fuera de los circuitos, pero pasan por unas resistencias, CMD pa-
sa por una resistencia pull-up de 10k y CLK por una de 30ohms.
to
es
rnn
EEr

Pero esto no siempre es asi. Muchos fabricantes al percatarse que ter-


ceros como nosotros, los técnicos, utilizamos dichos puntos de test pa-
ra vulnerar la seguridad del equipo y, por ende, los datos del usuario,
decidieron no poner puntos de prueba fuera de los circuitos, por lo
que, en dichos equipos, NO existe pinout, ya que, las líneas corren de
circuito a circuito, es decir, de pad a pad. En este caso solo nos quedan

81
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
dos opciones, o bien quitar la memoria y trabajarla de manera directa,
o bien, raspar el CPU y localizar el o los puntos que no están fuera de
ellos.

rraa
re
er
H
to
es

En esta imagen podemos ver el CPU de un LG ls676, este equipo no


tiene pinout, ya que, el punto Data 0 no se encuentra en algún punto
externo al circuito, por lo que se procedió a raspar el CPU y ubicar di-
rnn

cho punto, una vez ubicado, soldamos sobre la línea para poder conec-
tarlo por ISP.
EEr

Vendido a 82
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Aquí en la siguiente imagen podemos observar el proceso de conexión
ISP del equipo ya con el Data 0 soldado sobre el CPU.

rraa
re
er
H
to
es

Como vemos, no es necesario retirar la memoria para poder trabajar un


rnn

equipo cuando no hay pinout, sin embargo, en términos practicos, es


mucho mas sencillo retirarla que raspar el CPU, además que es necesa-
rio aprender a retirar memorias para cuando vayas a reemplazar alguna
EEr

o simplemente a rebolearla, o por ejemplo, en le caso de equipos con


memorias UFS las cuales no cuentan con pinout, como el Samsung
A50, por ejemplo.

83
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Bien, ya que sabemos que es el pinout y como es que funciona, solo
nos queda saber como sacarlo. Como mencionamos casi al inicio de
este libro, las memorias se clasifican por el tipo de BGA que es, po-
demos encontrar, por ejemplo, BGA221 o BGA153, que son las mas
comunes. En base al tipo de BGA que sea, cada memoria tendrá siem-
pre un mismo pinout en el circuito, lo que va a cambiar de teléfono a
teléfono, es la posición de cada uno de los puntos en la tarjeta.

rraa
re
er
H
to
es
rnn
EEr

Este es un ejemplo de pinout en el circuito. En esa imagen estamos


viendo cada uno de los puntos de conexión, ¿Qué es lo que debemos
hacer para sacar el pinout en la tarjeta? Muy simple, solo hacer un test
de continuidad ubicando cada uno de estos puntos en los pads de la
tarjeta y, haciendo un test de continuidad en los componentes aledaños
(condensadores, resistencias y tp) para ubicarlos.

Vendido a 84
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Esta es la manera más sencilla de ubicar cada uno de los puntos de co-
nexion ISP.

En la siguiente imagen vemos el pinout de la BGA153. Esta es la ima-


gen del circuito, recordemos eso, NO de la tarjeta. (Esta imagen tiene
un error, ya que el Data 0 no esta en el cuarto pin, si no, en el tercero)

rraa
re
er
H
to

Con estas imágenes, es muy sencillo ubicar los puntos de conexión en


la tarjeta lógica, como dijimos previamente, solo con hacer un test de
es

continuidad en cada uno de los puntos de conexión buscando a los al-


rededores en condensadores y resistencias.
rnn

Y asi sucede con cualquiera de las memorias emmc o emcp, en base al


pinout de su BGA, es como encontraremos el pinout.
EEr

Ahora, mucha gente se pregunta si es posible sacar el pinout de un


equipo sin necesidad de quitar la memoria, y la respuesta es si. Pero no
es asi se sencillo, puesto que, como ya mencionamos, no todos los
equipos tienen pinout, entonces; ¿Qué pasa si queremos sacar el pinout
de un equipo sin quitar la memoria y resulta que este equipo no tiene
pinout? Pues simple, estaremos perdiendo a lo tonto nuestro tiempo.

85
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Las líneas más fáciles de encontrar son los voltajes de alimentación.
Tanto VCC como VCCQ son simples de encontrar puesto que solo re-
querimos tener nuestra tarjeta conectada a una fuente de alimentación
y encender la tarjeta para que esos voltajes aparezcan. Entonces, solo
con nuestro multimetro revisamos los condensadores aledaños a la
memoria y buscamos el que nos arroje el valor 1.8 y 2.8, asi de simple.

rraa
El problema viene con los demás puntos de conexión, por ejemplo,
CMD o CLK. Estas dos líneas ya dijimos que pasan por unas resisten-
cias, CMD pasa por una resistencia pull-up de 10k y CLK por una de
30 ohms, entonces, podemos con nuestro multimetro ir midiendo cada

re
una de las resistencias que encontremos alrededor de la memoria o del
procesador y encontrar las que tengan ese valor.

complejo.
er
Ahora, si tenemos más de 1 resistencia con el mismo valor, es más

Sin embargo, en Qualcomm, por ejemplo, podemos puentear la resis-


tencia que creamos que sea CMD, un extremo recuerden que siempre
H
ira a VCCQ, entonces podemos verificar si tiene el voltaje 1.8v de un
extremo de la resistencia y del otro no. Del extremo que no tiene el
voltaje, lo podemos puentear a tierra y conectar la tarjeta al cable usb a
to

nuestra computadora y verificar si nos genera el puerto EDL, recorde-


mos que al interrumpir la comunicación CMD entra Host y memoria,
en procesadores Qualcomm nos genera en automatico el puerto EDL
(QDLoader9008) y con eso estaremos seguros de que esa línea es la
es

CMD.

Al igual pasa con CLK, al interrumpirla, nos debe generar el puerto


rnn

EDL, esto porque estas cortando la sincronización de reloj de la línea


CMD, por lo cual, no se comenzara la comunicación entre Host y me-
moria y por ende nos va a generar el puerto EDL.
EEr

La línea de Datos también es compleja, esta siempre llevara 1.8v, y re-


gularmente va a un testpoint, pero muchas veces hay mas de 10 TP en
todo alrededor de la memoria y CPU, por lo que es complejo saber
cual es cual, es por ello que la mejor manera de encontrar el pinout de
un equipo, es y va a seguir siendo, retirar la memoria.

Vendido a 86
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Ahora que ya sabemos como ubicar el pinout y como es que funcio-
nan, lo siguiente es simplemente soldar cada uno de los puntos de co-
nexión a nuestro adaptador ISP o bien, retirar la memoria del
dispositivo en caso de que no exista el pinout.
Con esta información ya podemos trabajar con cualquier caja que

rraa
realice este tipo de procedimientos, ya sea Medusa Pro, Easy Jtag, UFI
box, ATF, Riff, eMMC pro, eMMC dongle…etc.
Todas funcionan de la misma manera, salvo que unas tienen más mo-
dulos que otra, como en el caso de Easy Jtag que maneja modulo

re
NAND, UFS, eMMC, USB y SPI.
El hecho de que una caja no tenga tal o cual modelo en su suporte, o
que no aparezca en el soporte el pinout de un equipo, no quiere decir

er
que no este soportado, simplemente que a los desarrolladores no les ah
llegado dicho modelo para poder sacar el pinout, recordemos que estas
cajas trabajan con memorias, NO con marcas de teléfonos o modelos
de los mismos.
H
CHIP-OFF
to

Como ya mencionamos, la otra manera de trabajar aparte del ISP, es


quitando la memoria de la tarjeta, en caso de que no exista pinout, a
esta manera de trabajar se le conoce como “chip-off”
Para ello cada quien tendrá una técnica propia, temperatura y aire pro-
es

pio de su estación de calor que maneje. Por ejemplo, yo uso la Quick


861 con 380 de calor y 30 de aire para todo, nunca cambio nada.
Es importante conocer que tipo de BGA es tu memoria para saber que
rnn

socket vas a usar. Regularmente las cajas ya vienen con su socket, sal-
vo Medusa Pro que lo vende por separado.
Lo importante al retirar la memoria es saber si es eMMC o eMCP, ya
EEr

que, como mencionamos al principio de este libro, una eMMC tendrá


muchos pads sin coneccion a diferencia de una eMCP la cual, la mayo-
ria de sus pads tendrán coneccion, unos para la eMMC y otros para la
LPDDR (Ram), por lo que debes de tener cuidado de no volarte pads
con conexión en una eMCP porque de lo contrario, tendras que recons-
truirlos todos los que te vueles.

87
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
¿Cuál es la principal función de este tipo de cajas? Bueno, la función
principal de este tipo de cajas es la de reparar el boot de equipos muer-
tos por software. Para ello es que se utiliza la conexión ISP o Chip-off,
puesto que, en el caso de daño en el boot, el equipo ya no encenderá y
por ende no entrara a download o emergency para poder realizar el re-
establecimiento del boot por USB. De esta manera, la caja hace la re-
paración por medio de una conexión externa que va directo a la

rraa
memoria.

Anteriormente Riff box, por ejemplo, manejaba archivos denominados


“resurrector” que revivían el equipo muerto mediante conexión JTAG.

re
Estos archivos contenían el boot del equipo y algunas otras particio-
nes, que lo que hacían era cargárselo para que, de esta manera, ya pu-
diera encender y asi poder flashearlo completamente por cable USB.

er
En la actualidad, la única caja que maneja este tipo de archivos, es
Medusa Pro, no se llaman resurrector como en Riff, estos se llaman
.SRF (Smart Repair File) y contienen lo mismo que los archivos de
H
Riff; el boot del equipo mas algunas otras particiones, ¿con que objeti-
vo? Con el mismo que los resurrector, que el equipo entre a download
o emergency y de esta manera pueda ser flasheado por USB con su
to

rom completa stock.


es
rnn
EEr

Vendido a 88
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En las cajas Easy Jtag y UFI box, no manejan este tipo de archivos, so-
lamente tienen la opción de escribir el firmware directo a la memoria,
que es exactamente lo mismo que si le cargaran un .SRF.

rraa
re
er
En la imagen anterior podemos ver una ejemplo de ello, en Easy Jtag
Plus, donde no escribe algún tipo de archivo especial, si no, que hay
H
que flashear completo el equipo en base a la marca del mismo o del ti-
po de procesador que maneje.

Lo mismo ocurre con Medusa Pro, no solo tiene la opción de cargar el


to

archivo .SRF, también tiene la opción de flashear en base a la marca o


al procesador.
es
rnn
EEr

89
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Tambien podemos realizar desbloqueo de FRP mediante conexión ISP
o Chip-Off, todas las cajas tienen esta opción.

rraa
re
er
Con esta opción podemos remover el FRP sin necesidad de estar ha-
H
ciendo bypass, ni revisando el parche de seguridad o la versión de an-
droid o firmware de un equipo o, en el caso de Huawei, sin necesidad
de comprar Key.
to

Tambien podemos reemplazar memorias, programarlas cuando se vaya


a requerir un reemplazo.
es
rnn
EEr

Vendido a 90
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Lo verdaderamente importante de esto, es saber toda la parte teorica
que vimos en este libro para poder entender para que sirve cada una de
las opciones de cualquier caja para eMMC, ya que, como en una caja
básica, no requerimos de un curso para saber para que sirve la opción
“remove FRP”, o “unlock” o “flash”, es obvio para que sirve cada una
de ellas. No necesitamos un curso para utilizar tal o cual caja puesto
que todas son para lo mismo, solo con interface grafica distinta, por lo

rraa
tanto, lo único que necesitamos saber, son los conceptos generales.

Es lo mismo que sucede con este tipo de cajas, con la base teorica que
hemos mostrado en este libro, es sencillo comprender para sirve cada

re
una de las opciones en cualquier box de servicio eMMC.

er
H
to
es
rnn
EEr

91
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
Capítulo 3
H
to
es
rnn
EEr

Vendido a 92
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
UFSer
H
to
es
rnn
EEr

93
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Universal Flash Storage, es el nuevo protocolo de memoria que
encontraremos en casi todos los equipos nuevos o de gama alta, no es
que este protocolo vaya a suplantar a las eMMC o eMCP, mas bien,
las vino a complementar, puesto que siempre exitiran equipos de gama
baja y gama media, por lo que no dejaran de existir las memorias
eMMC. Estas memorias, hasta ahora solo han sacado tres tipos de

rraa
BGA distintos, estos son:

-BGA95
-BGA153

re
-BGA254

er
Este protocolo de memoria usa un sistema de apilamiento de capas,
como en los servidores, la estructura de “cliente – servidor”. Para ello
H
ocupa una serie de capas, en un modelo estándar son más capas las que
se ocupan, sin embargo, en el protocolo UFS, se simplificaron las co-
sas por la aliancia con la empresa MIPI M-PHY y UniPro. En UniPro
por ejemplo, ocupamos solo algunas capas, estas son:
to

- Capa de transporte
es

- Capa de aplicación
- Capa de red
- Capa de enlace
- Capa física
rnn

La principal diferencia entre una memoria eMMC y una UFS, es que


EEr

eMMC tiene ocho líneas de datos, que van desde Data 0 hasta Data 7,
como mencionamos en el Capitulo 2 de este libro, pero la manera de
trabajar de eMMC es de “Half Duplex”, es decir, que trabaja en para-
lelo; ¿a que nos referimos con esto? Bien, es sencillo.

Vendido a 94
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
eMMC solo puede leer o escribir a la vez, no al mismo tiempo, asi
que, aunque tengamos las ocho líneas de datos, el Host tiene que en-
viar su comando y sus datos al controlador y este ultimo, esperar a que
Termine el Host de enviarlos para poder enviar una respuesta por di-
chos canales de datos, eso hace que la comunicación sea mucho mas
lenta.
A diferencia de esto, UFS tiene un sistema “Full Duplex”, es decir,

rraa
puede leer y escribir al mismo tiempo, usando la capa de interconec-
cion para ello. Esto obviamente hace mucho más rápido el trabajo y la
comunicación entre el Host y la memoria.

re
er
H
to

Como vemos en la imagen anterior, de esta manera es como trabaja


una memoria eMMC y su principal diferencia con UFS.
es

En eMMC nosotros manejamos 6 lineas de conexión entre el Host y la


memoria, que eran CMD, CLK, D0, GND, VCC y VCCQ.
En UFS ya no es asi, en UFS maneja REF_CK, DIN_0_t, DIN_0_c,
rnn

DOUT_0_t, DOUT_0_c, Reset_N, VCC, VCCQ y VCCQ2.


EEr

En la siguiente imagen podemos observar cada uno de los puntos de


conexión entre el host y la memoria.

95
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Cada canal de datos va en pares, dos de entrada y dos de salida, cada
memoria puede manejar hasta seis canales de comunicación en par, es
decir, hasta 12 lineas de datos, siempre siguiendo el formato RX y TX.

rraa
re
er
H
to
es

Encontramos otra diferencia con eMMC en los voltajes de alimenta-


cion, puesto que ya no son solo dos, si no, tres voltajes de alimenta-
rnn

cion, en donde VCC es de 3.3V, VCCQ es 1.2 y VCCQ 2 1.8V.

A diferencia de eMMC, el nucleo de la memoria ya no es protocolo


EEr

NAND, ahora es NVM, por lo que, VCC sigue cumpliendo su función


de alimentar al nucleo, o a la memoria en si mismo, que es ahora
NVM.

Vendido a 96
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En la siguiente imagen podemos observar de manera mas detallada ca-
da uno de los puntos de conexión y comunicación entre host y pmic
con la memoria UFS.

rraa
re
er
H
to

Podemos observar que las líneas de datos manejan el sistema de recep-


cion y transmisión, RX y TX, van en pares, dos de entrada y dos de sa-
es

lida. Tambien podemos ver los tres voltajes de alimentación que son
sumistrados por el pmic, estos voltajes son de entrada, por supuesto.
rnn

A diferencia de eMMC, donde VCC maneja un voltaje de entre 2.8v a


3.3v, en UFS ya solo maneja el voltaje superior, es decir, el 3.3v
EEr

VCCQ por su parte se va a 1.2v mientras que VCCQ2 es el más im-


portante con 1.8v, el mismo voltaje que maneja VCCQ en eMMC.

97
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Bien, ahora, en cuanto a su diferencia en software, encontraremos que
UFS maneja un sistema similar al de eMMC, de particiones, sin em-
bargo, aca cambia en algo, ya no encontramos como tal a Boot 1 y 2,
RPMB y UserArea, si no que, encontramos Unidades Logicas.

Recordemos que en eMMC/CP tenemos cuatro particiones principales

rraa
pero podemos agregar otras cuatro sumando un total de ocho particio-
nes. En UFS es similar, cada memoria soporta hasta ocho unidades lo-
gicas o LUNs (Logical Unit Number), estas se enumeran desde LU0
hasta LU7.

re
Encontraremos muchas similitudes con eMMC puesto que, analizando
el log de operaciones de easy jtag plus que, en la actualidad es la unca

er
box que soporta este protocolo de memoria, nos podemos dar cuenta
de que, LU0 es el equivalente de UserArea. Pero pongamos una ima-
H
gen para que sea mas clara la comparación.
to
es
rnn
EEr

Vendido a 98
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Lo primero que encontramos es que nos dice que esta memoria soporta
hasta ocho particiones lógicas, pero en este caso solo tiene cinco.

rraa
re
er
H
to
es
rnn

Esto es, como mencionamos, a que cada memoria soporta hasta ocho
EEr

unidades lógicas, sin embargo, no están obligados a tenerlas todas pre-


sentes siempre, pueden tener las que quieran.

99
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Posteriormente podemos ver claramente como la partición LUN0 tiene
un tamaño de 59GB, es decir, realmente es de 64GB, y recordemos
que la partición más grande siempre será UserArea, puesto que en ella
es donde se aloja nuestro sistema operativo, por lo que esta partición
es el equivalente al UserArea de una eMMC.

rraa
re
er
H
to
es
rnn
EEr

Vendido a 100
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Las particiones LUN1 y LUN2 son el equivalente a Boot 1 y 2, incluso
podemos obervar que a un lado de cada una, entre paréntesis podemos
observar que nos indica como (Boot A) y (Boot B) y el tamaño es
igual que en eMMC, siempre de 4096kb o 4mb.

rraa
re
er
H
to
es

LUN3 por lo regular, al menos en Samsung, es utilizada para alojar la


partición CPEFS del OS.
rnn

LUN 4 en el caso del log de operaciones que vemos en la imagen ante-


rior, no nos indica que contiene, bien puede estar vacia pero disponible
EEr

para ser utilizada.


Luego encontramos la W-LUN 0xC4 el cual equivale a la partición
RPMB.

101
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Regularmente las memorias UFS vienen configuradas de manera OTP
(One Time Programming), por lo que no se puede cambiar el tamaño
de sus particiones, son muy pocas las memorias que si lo permiten.

En cuanto a los registros y configuración de booteo y todo eso que se


veía anteriormente con eMMC, pues eso ya no existe en este protoco-

rraa
lo, asi como tampoco existe la comunicación por ISP, solo por Chip-
off.
Para ello requerimos de un socket especial para ese protocolo, como
mencionamos por el momento solo Easy Jtag Plus es la que soporta es-

re
te protocolo, por lo que, el socket que existe es para esta caja.

Existen dos sockets, los originales y los genéricos. El original fue

er
desarrollado por el mismo team de z3x y sacaron solo para dos BGA,
la BGA95 y la 153.
H
to
es
rnn
EEr

Estos son los sockets originales para UFS.

Vendido a 102
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Aquí tenemos los genéricos del fabricante de X-Mate llega IC
FRIEND 3 en 1. Como se podrán dar cuenta, la gran diferencia es que
este socket soporta los tres BGA existentes hasta ahora en el mercado,
la BGA95, 153 y 254.

rraa
re
er
H
to

En lo personal yo tengo el IC FRIEND puesto que es el más conve-


niente a mi punto de vista.
es

Es importante comenzar a practicar a levantar memorias, pues en el


caso de UFS se tendrá que realizar dicho procedimiento si o si, al igual
rnn

que en los equipos eMMC/CP que no cuenten con pinout.


EEr

No entraremos en detalles de cómo utilizar dicha caja porque no es el


motivo de este libro, solo mostraremos el modulo de easy jtag que lo
maneja.

103
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En la siguiente imagen podemos observar claramente el modulo clasi-
co de nuestra Easy Jtag Plus, donde ya aparece la pestaña de UFS.

rraa
re
er
H
to
es
rnn
EEr

Como podemos observar, ya no nos aparece la opción de VCC ni CLK


ni los Bits, puesto que esas líneas ya no existen en UFS, solo nos per-
mite modificar a voltaje alto o voltaje bajo.

Vendido a 104
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Aun falta mucho desarrollo al respecto de UFS, sin embargo, Medusa
Pro, por ejemplo, ya esta trabajando en Medusa Pro 2, la cual ya in-
cluira UFS también y a una alta velocidad de transferencia de archi-
vos, puesto que, actualmente ese es el problema de UFS, que es muy
lenta la comunicación y hacer un dump de la LUN0 por ejemplo, tarda
muchísimo tiempo, asi que esperemos y logren solucionar ese proble-

rraa
ma en el futuro.

re
er
H
to
es
rnn
EEr

105
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
Capítulo Especial
H
to
es
rnn
EEr

Vendido a 106
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En este capitulo hablaremos brevemente sobre los protocolos de me-
moria existentes en Apple.
Existen dos protocolos en la actualidad en dispositivos Apple, estos
son: NAND y PCIe.
En cuanto a NAND se refiere, existen dos tipos de memorias, de 32 y

rraa
64 bits. La mayoría de los equipos viejos de Apple son de 32 bits, co-
mo el ipad 2, 3 y 4 y la ipad mini 1.
Del ipad mini 2 en adelante, son memorias de 64 bits, pero aun dentro
del protocolo NAND.

re
Apartir de las ipad Pro y 5ª generación en adelante, encontramos ya el
protocolo PCIe.
Fisicamente son de menor tamaño y tienen un poco mas de balls. Otra

er
de sus diferencias es que todas son de 64bits, ya no de 32.
Esto hablando de ipads, en el caso de iphone, el protocolo NAND solo
H
llega hasta el iphone 6 plus, del 6s en adelante también se maneja el
protocolo PCIe de 64bits.

Para poder trabajar con esas memorias, encontramos diferentes pro-


to

gramadoras, como lo son; Naviplus


es
rnn
EEr

107
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Tambien tenemos JC Pro

rraa
re
er
H
O IPbox entre otras.
to
es
rnn
EEr

Vendido a 108
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Incluso Easy Jtag Plus cuenta con un modulo para programar NAND,
mas no PCIe (aun).

rraa
re
er
H
to

A diferencia de eMMC, en las memorias NAND o PCIe no hay mucho


es

que configurar al momento de cambiar una memoria, puesto que solo


requerimos de tres parámetros para ello, estos son:
rnn

-SN
-Wifi Address
EEr

-Bluetooth Address

Con esos tres parámetros nosotros podemos reemplazar una memoria


NAND o PCIe, aumentar capacidad de almacenamiento o remover
Icloud.

109
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En este tipo de memorias no es tan necesario tener algún conocimiento
extra puesto que el sistema operativo de Apple (IOS) es mucho más
seguro que Android, por lo que no es tan fácil vulnerar su seguridad.
Solo en el caso de las Ipad se puede remover el icloud mediante estar
programadoras puesto que, este bloqueo esta ligado al SN del equipo,
asi que lo único que se tiene que hacer es cambiar el SN del dispositi-

rraa
vo para que este pueda funcionar nuevamente.
En el caso de Iphone no es asi, pues este tiene RF por lo que el icloud
esta ligado al IMEI y no al SN.

re
Sinceramente en el caso de Apple hay muy poco que hacer en cuanto a
software se refiere, por su nivel de seguridad, es mas sencillo realizar
procesos en hardware para su reparación, mas que reparación de soft-

er
ware. Pues para ello también contamos con itunes o 3utools, para po-
der restaurar el dispositivo y los errores que estos arrojen rara vez
H
tiene que ver con el sistema operativo, mas bien, son problemas de
hardware.

Solamente en los iphone viejos como el 6 y 6 plus, era conocido el


to

error 4013, donde ahí si estaba involucrado el kernel del IOS, para ello
si se utilizaba la programadora Naviplus para poder reparar el Kernel y
es

poder restaurar el dispositivo nuevamente sin que arrojara el dichoso


error.

Sin embargo, del iphone 6s en adelante, el error 4013 ya no se refiere


rnn

(o al menos no en su mayoría) a problemas con el kernel del IOS, mas


bien se refiere a problemas en hardware, por lo que ya no nos sirve de
EEr

nada bajar la memoria y reprogramarla con alguna programadora,


puesto que en contadas ocasiones funcionara.

Vendido a 110
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
AGRADECIMIENTOS

Solo quiero agradecer al lector por tomarse el tiempo de leer todo el


libro de principio a fin y no de solo ver las imágenes, puesto que no es
común que estemos acostumbrados a leer, gracias por ello.

rraa
Gracias también a las personas que han confiado en mí para capacitar-
los ya sea de manera grupal o personal, gracias a todos por su confian-
za.

re
A los organizadores de cursos que me han invitado y me han dado la
oportunidad de compartir el poco o mucho conocimiento que tengo

er
con respecto a estos temas, gracias a ustedes también.
H
Gracias a todos!!
to
es
rnn
EEr

111
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion

También podría gustarte