Possible to convert eMMC Socket to a micro SD Card socket?

Thread Starter

OfficerJenny

Joined Jan 14, 2024
6
I have seen many posts where the eMMC can be read via a SD card reader, however can the opposite be achieved?

Read/Write to a Micro SD Card from an eMMC Socket?

I have a Motherboard with a Kingston BGA153 ball socket, using HS400 bus mode, which is 8bit, as Micro SD is usually 1bit or 4bit mode, I accept that a loss of speed in read/write will occur, but I would sill like to convert.

Theoretically speaking, Im thinking if I hard solder DAT0-3 from eMMC to SD Card Reader, this should force 4-bit mode, or only DAT0 to force 1-bit mode.

I have a good solder & hot air station.

What do you think?
 

Ya’akov

Joined Jan 27, 2019
10,226
Welcome to AAC.

Do you intend to write a bespoke driver? The SD card’s initialization sequence is different so even if you found electrical compatibility you couldn’t use the SD card with the OS unless you write driver than can do that.
 

Thread Starter

OfficerJenny

Joined Jan 14, 2024
6
Hello Ya'akov.

Can you elaborate more on what you define as initialization sequence?

From what ive read, both eMMC and SD Card have a controller to manage the NAND Memory(so the host(OS) doesnt have to), and both can operate on 1bit bus-mode at minimum.

The OS is linux, many of the default linux disk tools( fdisk, df, etc) recognize both sd and emmc partitions, filesystems, etc.
 

Ya’akov

Joined Jan 27, 2019
10,226
Hello Ya'akov.

Can you elaborate more on what you define as initialization sequence?

From what ive read, both eMMC and SD Card have a controller to manage the NAND Memory(so the host(OS) doesnt have to), and both can operate on 1bit bus-mode at minimum.

The OS is linux, many of the default linux disk tools( fdisk, df, etc) recognize both sd and emmc partitions, filesystems, etc.
SD card hardware requires several steps to initialize before it can be used:

• Send at least 74 clock pulses to the card with CS and Data Outlines set to logic “1.”
• Set CD line low.
• Send 6-byte CMD0 command “40 00 00 00 00 95” to put the card in SPI mode.
• Check R1 response to make sure there are no error bits set.
• Send command CMD1 repeatedly until the “in-idle-state” bit in R1 response is set to “0,”
• and there are no error bits set. The card is now ready for read/write operations.

This is different than the eMMC card hardware requirements.
 

Thread Starter

OfficerJenny

Joined Jan 14, 2024
6
SD card hardware requires several steps to initialize before it can be used:

• Send at least 74 clock pulses to the card with CS and Data Outlines set to logic “1.”
• Set CD line low.
• Send 6-byte CMD0 command “40 00 00 00 00 95” to put the card in SPI mode.
• Check R1 response to make sure there are no error bits set.
• Send command CMD1 repeatedly until the “in-idle-state” bit in R1 response is set to “0,”
• and there are no error bits set. The card is now ready for read/write operations.

This is different than the eMMC card hardware requirements.
@Ya’akov

Is the Microcontroller responsible for the code to provide those initialization steps?
And when you say a custom driver? I assume this would be written to the M.C or somewhere in between the M.C and the eMMC seat?
 
Top