Help to understand error messages (MTD on Samsung NAND chips)

Thomas Gleixner tglx at linutronix.de
Thu Jul 31 14:56:00 EDT 2003


On Thursday 31 July 2003 18:16, llandre wrote:
> Hi Thomas,
>
> sorry for this late response, but I had to work for a couple of weeks on
> another project.
>
> Anyway I restored the original source files included in the kernel and I
> collected the debug information printed during the execution of the
> eraseall command.
> Here is a short dump of what I got:
>
> ---------------------------------------------------------------------------
>------------ bash-2.05# echo 9 >/proc/sys/kernel/printk
> bash-2.05# eraseall /dev/mtd0
> MTD_open
> MTD_ioctl
> Erasing 16 KibyMTD_ioctl
> te @ 0 --  0 % cnand_erase: start = 0x00000000, len = 16384
> omplete.nand_erase: attempt to erase a bad block at page 0x00000000

Byte 5 of the OOB area in the first page of the block is != 0xFF. 
That means, that this block is bad. Either it was set by the manufacturer, 
which is possible as NAND chips can contain bad blocks, or JFFS2 / YAFFS do 
it when they recognize a bad block, or you managed it anyhow to write the bad 
block markers. I assume the latter.

Bad blocks may not be erased, as the bad block information may be destroyed 
and you then would use a bad block for storing data.

-- 
Thomas
________________________________________________________________________
linutronix - competence in embedded & realtime linux
http://www.linutronix.de
mail: tglx at linutronix.de




More information about the linux-mtd mailing list