Does Jetson Xavier Nx emmc version support enhanced user data area?


I’d like to switch the user data area of Jetson Xavier Nx(16GB) from MLC to pSLC.

I tried the command “mmc enh_area set -y 0 7364608 /dev/mmcblk0”, and it printed

nvidia@nvidia-desktop:~$ sudo mmc enh_area set -y 0 7364608 /dev/mmcblk0
Enhanced User Data Area Size [ENH_SIZE_MULT]: 0x000383
i.e. 7364608 KiB
Max Enhanced Area Size [MAX_ENH_SIZE_MULT]: 0x000383
i.e. 7364608 KiB
Done setting ENH_USR area on /dev/mmcblk0
Device power cycle needed for settings to take effect.
Confirm that PARTITION_SETTING_COMPLETED bit is set using ‘extcsd read’ after power cycle

After rebooting, enhanced user data area size changed.

nvidia@nvidia-desktop:~$ sudo mmc extcsd read /dev/mmcblk0 | grep ENH_SIZE_MULT -A 1
[sudo] password for nvidia:
Max Enhanced Area Size [MAX_ENH_SIZE_MULT]: 0x000383
i.e. 7364608 KiB
Enhanced User Data Area Size [ENH_SIZE_MULT]: 0x000383
i.e. 7364608 KiB

However, the the size of /dev/mmcblk0 did not change, it was still 14.7GiB.
In addition, when I turned off and unplug the device, then turned on it, enhanced user data area size backed to 0x000000.

Does Jetson Xavier Nx emmc version support enhanced user data area? Or did I misunderstand power cycle?

Are you able to rerun the command on the same device without any error?

As per the guidance from mmc_utils, what is the value of PARTITION_SETTING_COMPLETED, after power cycling the board?


Hi kayccc,

The PARTITION_SETTING_COMPLETED back to 0x00 after power cycling the board.
And all settings back to using mmc_utils command before.
Therefore, when I rerun the command, there is no error message.

I tried the mmc_utils on Jetson TX2. And after power cycling the board, TX2 can’t boot the kernel.
Then after I using to flash TX2, TX2 can boot again.
And the User Data Area Size changed from 29.1GiB to 14.6GiB.

Here is the mmc info of TX2.
Tegra186 (P2771-0000-500) # mmc info
Device: Tegra SD/MMC
Manufacturer ID: 11
OEM: 100
Name: 032G3
Tran Speed: 52000000
Rd Block Len: 512
MMC version 5.1
High Capacity: Yes
Capacity: 14.6 GiB
Bus Width: 8-bit
Erase Group Size: 4 MiB
HC WP Group Size: 4 MiB
User Capacity: 14.6 GiB ENH WRREL
User Enhanced Start: 0 Bytes
User Enhanced Size: 14.6 GiB
Boot Capacity: 4 MiB ENH
RPMB Capacity: 4 MiB ENH

So, what’s the problem of Jetson Xavier NX? Or did I miss any steps?


After sending email to the chip maker of eMMC, they said that the UDA partition cannot be written more than 4 times.

Therefore, I tried the mmc-utils on the new NX, and it worked.
Now, the size of UDA changed into 7GiB.

I’d like to know that whether using more than 5 times is the reason that cause mmc-utils not work?


We cannot map number of times is run to the average number of times the blocks are written.
Average number of writes per block should not go beyond the permissible range.
Since the vendor has confirmed that partitions should be set early in the device life and you have confirmed that partitions are set on the new board, the behavior is expected.