NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
Raw NAND and TI ROM Bootloaders (RBLs)
Managed NAND has been recommended as a possible alternative to raw NAND. This article discusses and compares raw NAND versus managed NAND support on TI bootloaders and suggests recommendations. Two main challanges while booting from a raw NAND:
Managed NANDs are RAW NANDs combined with a memory controller and can support popular interfaces such as MMC (eMMC, moviNAND), SD (eSD) and SPI. The memory controller hides the details of the NAND and provides the intended interface and ECC support. This means that a eMMC/eSD NAND can talk to a embedded TI device through MMC/SD controller.
The limitation arises because the latest eMMC/eSD standard in the market is ahead of what is supported currently in TI devices. The following table lists the IP support in TI DM/OMAP devices.
|OMAP3, AM3505/17, OMAP35xx, AM/DM37xx||4.2||2.0|
|OMAPL1xx, C674x, AM17xx, AM18xx||4||1.1|
- The table below compares performance throughput (both read and write) for different regular SD cards and managed NAND (eMMC/eSD) cards on DM355 Rev C silicon EVM for three different filesystems EXT2, EXT3 and VFAT mounted on SD/eMMC/eSD cards.
- The kernel used to test this is from PSPv3.01 Phase 2 Release – 2.6.32-rc1 kernel.
- The filesystem used is Arago filesystem that can be downloaded from link above.
- Note that managed NAND performance is comparable with SD and SDHC cards.
- More detailed results are available on request (please contact your local sales team for support).
|Storage Device||File System||Read (Mbytes/s)||Write (Mbytes/s)||Comment|
|Raw NAND||JFFS2||5.9||1.97||Buffersize=1024K; 0.8 when buffersize if 100K and 256K|
|SD||EXT2||8.5||3.7||Using Sandisk 2G card|
|SDHC||VFAT||11||8.76||Using Sandisk 16G card|
|eMMC||EXT2||9.87||4.19||Samsung moviNAND 8GB KLM8G4DEFD-A301|
|eMMC||EXT3||9.84||3.63||Samsung moviNAND 8GB KLM8G4DEFD-A301|
|eMMC||VFAT||9.97||6.39||Samsung moviNAND 8GB KLM8G4DEFD-A301|
|eSD||EXT2||10.27||3.54||SanDisk 4GB SDIN2C2-4G|
|eSD||EXT3||9.09||4.36||SanDisk 4GB SDIN2C2-4G|
|eSD||VFAT||10.22||7.24||SanDisk 4GB SDIN2C2-4G|
Support in UBL,uBoot and Linux Kernel
To support Managed NAND after boot, all the software components (UBL,uBoot and Linux Kernel) should have MMC/SD boot support. Currently UBL and uBoot doesn't have the required support. Latest kernel, 2.6.32-rc1 from PSPv3.01 Phase 2 has MMC/SD support. However, there are few cards that are not recognized by the kernel correctly as is evident from SD/SDHC/eMMC/eSD Performance comparison above.
Is Managed NAND a good solution?
The following table bring us comparison between RAW and Managed NAND.
|Features||Raw NAND(MLC)||Managed NAND|
|Nand Interface Issues||Yes||No|
|Special software support||No||Yes|
1. If price is not a driving factor, SLC NANDs will be supported in most of the current devices for atleast a couple of years.
2. If the device has MMC/SD support, eMMC/eSD is a reasonable solution.
3. If the device with a DSP doesn't have a MMC/SD support (DM648, DM6437, DM6446), and price is a driving factor (to rule out SLC NANDs), software solution for ECC should be considered.
1. Presentation on Managed NANDs