Maximum eMMC Capacity Supported by iMX6

cancel
Showing results for 
Search instead for 
Did you mean: 

Maximum eMMC Capacity Supported by iMX6

Jump to solution
2,394 Views
jh_zhao
Contributor I

Couldn't find anything exact in i.MX6 datasheet and reference manual.

SD card supported is specified to be up to 32GB in the reference manual. But nothing is said of eMMC.

There are 128GB smartphones (e.g. Meizu MX3) and tablets. I suppose iMX6 supports 128GB eMMC?

Labels (1)
Tags (3)
0 Kudos
1 Solution
1,105 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello, Jihua,

      I confirmed the issue with my colleague from IC design team.

      eMMC module in I.MX6 IC doesn't care capacity of external device. So you can think 128GB eMMC card can be supported by I.MX6.

Regards,

Weidong

View solution in original post

0 Kudos
4 Replies
1,105 Views
Raana
Contributor III

Hi Weidong,

Is eMMC maximum capacity depends on linux driver or else SoC ?

Because, I'm using i.Mx8x soc... I want to know the maximum capacity of eMMC ?

Is any driver changes needed, If I want to change from one eMMC to another eMMC (same manufacturer but size in increased) ?

Please clarify me.

Thank You.

Best Regards,

J.P.Raja

0 Kudos
1,105 Views
BiyongSUN
NXP Employee
NXP Employee

If you can read the emmc JEDEC spec. you will know what is C_SIZE and SEC_COUNT.

And how to calculate greater than 2GB. 

eMMC is defined by eMMC JEDEC spec. not i.MX.

i.MX reference manual will say support 4.6, 5.0, 5.1, etc. 

eMMC could support 4 294 967 295x 512B

It is not the question should be raised here. 

Please check the spec.

7.3.12 C_SIZE [73:62]
The C_SIZE parameter is used to compute the device capacity for devices up to 2GB of density. See Section 7.4.48, SEC_COUNT [215:212] , for details on calculating densities greater than 2GB. When the device density is greater than 2GB, the maximum possible value should be set to this register (0xFFF). This parameter is used to compute the device capacity.
The memory capacity of the device is computed from the entries C_SIZE, C_SIZE_MULT and READ_BL_LEN as follows:
Memory capacity = BLOCKNR * BLOCK_LEN where BLOCKNR = (C_SIZE+1) * MULT
MULT = 2C_SIZE_MULT+2 (C_SIZE_MULT < 8)
BLOCK_LEN = 2READ_BL_LEN, (READ_BL_LEN < 12)
Therefore, the maximal capacity which can be coded is 4096*512*2048 = 4 GBytes.
Example: A 4 MByte device with BLOCK_LEN = 512 can be coded by C_SIZE_MULT = 0 and C_SIZE = 2047. When the partition configuration is executed by host, device will re-calculate the C_SIZE value which can indicate the size of user data area after the partition.

7.4.48 SEC_COUNT [215:212]
The device density is calculated from the register by multiplying the value of the register (sector count) by 512B/sector as shown in following equation.
Device density = SEC_COUNT x 512B
The maximum density possible to be indicated is thus 4 294 967 295x 512B.
The addressable sector range for the device will be from Sector 0 to Sector (SEC_COUNT-1).
The least significant byte (LSB) of the sector count value is the byte [212].
When the partition configuration is executed by host, device will re-calculate the SEC_COUNT value which can indicate the size of user data area after the partition.

0 Kudos
1,106 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello, Jihua,

      I confirmed the issue with my colleague from IC design team.

      eMMC module in I.MX6 IC doesn't care capacity of external device. So you can think 128GB eMMC card can be supported by I.MX6.

Regards,

Weidong

0 Kudos
1,105 Views
jh_zhao
Contributor I

Thank you Weidong for the answer!

0 Kudos