Cannot claim full 16G of EMMC

Hi Robert,

We have new rev C boards with 16G EMMC. It was the same part as our Rev B board.
On Rev B, I run your sudo /opt/scripts/tools/grow_partition.sh and the Linux was able to expand to full 16G. But some how on our Rev C, it only expands to 5G.

image

The P/N for EMMC is EMMC16G-TB29-90F02
Any suggestions that something is possibly wrong?

Thank You,
David

HI @dzhou , what does the silk screen on the eMMC show? (picture? )

These two numbers match (off by 1…)

emmc

So Linux see’s only a 4.9GiB drive… So it’s not the script, i’m thinking something is funny about the eMMC…

Regards,

Hi Robert,

I agree with you that it is not the script. The script expands from 3.5G to 4.9G, it does as it supposes to do.
If it is the addresses, I thought it shall be something like 8G, not 5G. If it is bad EMMC chip, it still hard to think of 4.9G.
I have to try more boards, to see if they are consistent.
Best Regards,
David

I just tried mmc-utils from debian, this application doesn’t show much more info… The mmc info in u-boot might be useful.

You might want to ping where you got these chips, they are either defective, or maybe counterfeit???

Regards,

Hi Robert,
Thank you for your suggestions.
I will try more boards, which may give us some clues. Or as you suggested, using u-boot to dig out some error codes or do more testing.

Best Regards,
David

Hi Robert,

I found that the EMMC on the Rev C board, which only claimed 4.9G out of 16G Capacity is in Enhanced Mode ( from u-boot mmc ) :
User Capacity: 4.9 GiB ENH
User Enhanced Start: 0 Bytes
User Enhanced Size: 4.9 GiB

It may use mmc-utils to be reconfigured?
There are a few questions in mind:
The enhanced mode is default for ‘enhanced version’ of EMMC?
Why only 4.9 visible under enhanced mode?
How to claim the rest or how to change to non-enhanced mode?

Best Regards,

David

Cool pseudo SLC mode! :wink:

I have no idea, this is first I’ve found out eMMC support this mode… Does the manufacture have any configuration guides to convert to to normal?

it looks like u-boot supports changing this…

https://developer.toradex.com/knowledge-base/emmc-linux#Configure_eMMC_Enhanced_User_Area

Regards,

Hi Robert,

I found this data sheet:
https://www.verical.com/datasheet/kingston-technology-emmc-emmc16g-tb29-pz90-6583060.pdf

It has hwpartition u-boot cmd or mmc-utils as you suggested. I haven’t got chance to try it out. I am still having wifi issue, (service is loaded ok, but no wlan0 interface device). Without WIFI, it is hard to install tools for use.

Best Regards,
David

Hi Robert,
In the pdf, it says:

The device capacity is reduced by 2/3 of the capacity. 5G is about 16/3 G. So in pSLC mode, 4.9G is all claimed. Am I right?

David

Correct, so with the correct mmc command you should be able to put it in TLC mode to get all 16GB… This is all new, i shared it with the old Beagle developers, we haven’t had to deal with an eMMC like this yet…

Regards,

Hi Robert,

Thank you for your confirmation.
Later, I would like to make it multiple partitions. One for Linux O/S, which is more static after being flashed. One for user partition, which may constantly updates with pSLC mode. That way we have balanced performance and space.

Best Regards,
David

Hi Robert,

I got some feedback from Kingston regarding EMMC pSLC configuration, I thought you might be interested in the info. I would like to share it with you.
( the Jesd84-B51.pdf too large to upload)

EMMC16G-TB29-90F01 is standard configuration chip P/N
EMMC16G-TB29-90F02 is pSLC configuration chip P/N

  1. EMMC Chip with EMMC16G-TB29-90F01 is in standard configuration ONLY?

This is the standard configuration. Standard configurations can be set to pSLC mode which is a one-time-programmable (OTP) operation and cannot be undone. All data is lost when converting to pSLC.
EMMC16G-TB29-90F01
eMMC 5.1
Standard Temp. -25C to +85C
Package 11.5 x 13.0 x 0.8 mm
Native 3D TLC NAND Flash
Sector count 30,621,696 = 30,621,696 * 512 = 15,678,308,352 Bytes

  1. EMMC Chip with EMMC16G-TB29-90F02 is in pSLC as default? Is it possible to be re-partitioned as mixed ( some as standard, and some as pSLC) ?

This part is set as pSLC mode from the factory. Standard configured parts can be set to have a mix of standard and pSLC sections. Once set in pSLC it cannot be undone due to the OTP nature.

Section “6.2.4 Configure partitions” of the JEDEC standard (attached) describes how to set pSLC which they call “Enhanced User Data Area”.

EMMC16G-TB29-90F02
eMMC 5.1
Standard Temp. -25C to +85C
Package 11.5 x 13.0 x 0.8 mm
Native 3D TLC NAND Flash converted to pSLC.
Sector count 10,207,232 = 10,207,232 * 512 = 5,226,102,784 Bytes

Best Regards,

David

Ouch, so “F02” is 16G eMMC in pSLC mode via a one time programmable option… They should really rename the part number as “5.9G” vs “16G”… As that is so confusing, as you don’t get all 16G…

Regards,