mtd oob test is failing consistently at same places in NAND flash

Ricard Wanderlof ricard.wanderlof at axis.com
Thu May 10 03:51:25 EDT 2012


On Wed, 9 May 2012, Philip, Avinash wrote:

> Basically I am testing why bit flips is happening in OOB area. Some observation related
> to mtd_oob test in the setup we are having is
> 1. Modify mtd_oob test to write patterns (0x0, 0x55, 0xAA, 0xff), then test is getting passed
> for all patterns.
> 2. On inserting a delay of 10 ms after erase_whole_device() in mtd oob test, test is getting passed.
>
> I can't correlate how test is getting passed on modifying pattern as we are covering all bits in
> either of the patterns.
>
> On inserting delay test is getting passed, will point to me some problems in command issue. I am
> debugging on this.

We've had problems with bus buffers between the CPU and flash not being 
fast enough. The symptoms were similar to what is described above, certain 
patterns would fail, whereas others wouldn't. When a given byte failed, it 
depended on what the previous byte on the bus was if I remember correctly, 
in some pattern that we never bothered do find out. We upgraded the bus 
drivers and changed the CPU timing towards the flash which cleared up the 
problem.

One symptom was that the probability of errors changed drastically when 
the temperature was changed. It also varied a lot between individual 
devices.

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30



More information about the linux-mtd mailing list