We recently based a board on an Atmel AT91SAM9G20 part which the FAE and rep said could boot from NAND flash. The eval board can indeed be configured to boot from NAND flash. However, when it comes time to spec parts for a real product, we find that's all smoke and mirrors.
The Atmel SAM9 parts require that block 0 be completely free of bit errors since the ROM bootloader doesn't do ECC (despite the fact that the part does have hardware ECC support). So you have to use a NAND flash that guarantees a good block 0 _without_using_ECC_. It turns out those sorts of NAND flash parts appear to be made of a combination of Unicorn's horn and Unobtanium. IOW, they don't exist. At least that's what the flash distributor and rep tell us.
What was Amtel thinking when they decided not to do ECC when reading NAND flash? I realize Atmel doesn't make NAND flash, but surely they must have been aware that NAND flash parts aren't spec'ed to be fault-free by the flash vendors.
My opinion? It's a way for Atmel to suck you in and then after you get the unpleasant surprise that you _can't_ boot from NAND, they try to sell you a serial dataflash part you don't really want.
OTOH, TI did it right in their OMAP parts: not only does the bootloader do ECC, it also will skip blocks that have uncorrectable errors.
Atmel: Block 0 must be good without ECC
TI: _Any_ of blocks 0,1,2,3 must be good _with_ ECC
Which do you think is going to work better?