Managed NAND

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search
Translate this page to   

Contents

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:

Even if RBL is able to identify NANDs, the ECC support in the hardware/RBL can't be changed. All of our current devices have <=4bit/512bytes ECC support in the hardware. MLC NANDs are already requiring >=8bit/512bytes ECC support. There are SLC devices with 1/4bit ECC requirement, but SLC devices are costlier than MLC devices.

Managed NANDs

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.

Devices MMC SD
DM355 3.31 1.1
DM6446 3.31 1.1
DM365 3.31 1.1
DM6467 NA NA
DM6437 NA NA
DM648 NA NA
AM3505/17, OMAP35x, AM/DM37x 4.2  2.0
OMAPL137/C6747/C6745/C6743/AM17x 4 1.1
OMAPL138/C6748/C6746/C6742/AM18x 4 1.1
C6A8xx 4.4 2.1

Performance comparison

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
ECC required Yes No
MMC/SD interface No Yes
Speed z ~2z
Special software support No Yes
Advanced features No Yes

Recommendation

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.

References

1. Presentation on Managed NANDs [1]

Leave a Comment
Personal tools
Namespaces
Variants
Actions
Navigation
Print/export
Toolbox