mtd_oobtest fails with GPMI-NAND

Vikram Narayanan vikram186 at gmail.com
Mon May 13 12:38:16 EDT 2013


Hello Stefan,

On 5/12/2013 8:39 PM, Stefan Roese wrote:
>> Looks like it is happening at random. Two different physical locations
>> on two different runs.
>
> These locations (blocks) where the errors happen are not always
> identical. But some blocks reoccur. And this Linux test stops
> when one error is detected. The U-Boot reported multiple blocks,
> where some blocks were most of the time defective.
>
> So its not really random.

Ok.

>> The only error I came across in u-boot is "fixable bit-flip" issue. My
>> colleagues have reported it sometime back. But I couldn't reproduce it
>> and neither could they.
>
> Could you please post a link to this thread?

http://lists.denx.de/pipermail/u-boot/2012-December/142476.html

>> Can you please post the logs for the "uncorrectable errors" in u-boot?
>> That might give some hints to Huang.
>
> Sure. Please note that I tracked the error (-74) back to the U-Boot
> imx NAND driver (mxs_nand.c):
>
> 	/* Loop over status bytes, accumulating ECC status. */
> 	status = nand_info->oob_buf + mxs_nand_aux_status_offset();
> 	for (i = 0; i < mxs_nand_ecc_chunk_cnt(mtd->writesize); i++) {
> 		if (status[i] == 0x00)
> 			continue;
>
> 		if (status[i] == 0xff)
> 			continue;
>
> 		if (status[i] == 0xfe) {
> 			failed++;
> 			continue;
> 		}
>
> 		corrected += status[i];
> 	}
>
> I could also add some code to the Linux driver to see, if the error
> happens at the same place (status == 0xfe). I'm pretty sure that this
> is the case though.
>
>
> Here the logs from U-Boot:
>
> => nand erase.part ubi;
> NAND erase.part: device 0 offset 0x1100000, size 0x1ef00000
> Erasing at 0x1ffe0000 -- 100% complete.
> OK
> => ubi part ubi
> UBI: mtd1 is detached from ubi0
> UBI: attaching mtd1 to ubi0
> UBI: physical eraseblock size:   131072 bytes (128 KiB)
> UBI: logical eraseblock size:    126976 bytes
> UBI: smallest flash I/O unit:    2048
> UBI: VID header offset:          2048 (aligned 2048)
> UBI: data offset:                4096
> UBI error: ubi_io_read: error -74 while reading 64 bytes from PEB 3093:0, read 64 bytes
> UBI error: ubi_io_read: error -74 while reading 64 bytes from PEB 3956:0, read 64 bytes
> UBI error: ubi_read_volume_table: the layout volume was not found
> UBI error: ubi_init: cannot attach mtd1
> UBI error: ubi_init: UBI error: cannot initialize UBI, error -22
> UBI init error 22
>
>
> Another thing to mention is, that using this command (nand erase;
> nand erase;ubi part) never triggers this problem. So an additional
> erase somehow seems to fix this problem. Still not sure why this is
> the case.

I'll test this as well with the latest u-boot.

>
> Vikram, which NAND part/chip are you using again?

I'm using "Toshiba, TC58NYG2S0FBAI4".

Regards,
Vikram



More information about the linux-mtd mailing list