Fw: corrupt my NAND flash device
Thomas Gleixner
tglx at linutronix.de
Tue Apr 29 04:03:10 EDT 2003
On Tuesday 29 April 2003 03:23, Charles Manning wrote:
> > If that helps, I'm willing to add this too, conditional, defaulting to
> > zero. I remember a big thread complainig about this overhead, before it
> > was removed. I did this carefully and there is no "maybe a write is
> > interrupted by another thread issue". Only erases can be interrupted, but
> > they are restarted later. And on interruption of erase the reset comand
> > is issued.
>
> There is an overhead which is variable depending on the operation being
> performed. It seems likely to me that the only condition where this is
> likely to improve things is when recovering from some hardware problem (eg.
> signal integrity).
>
> Why do you interrupt erases? It seems to me like potentially an unhealthy
> thing to do on NAND since NAND does not support erase suspend. NAND erases
> quite quickly (say 2mS) so do you gain anything real by doing this?
Toshiba Datasheet:
Reset
The Reset mode stops all operations. For example, in the case of a Program or
Erase operation the internally generated voltage is discharged to 0 volts and
the device enters Wait state. The response to an FFH Reset command input
during the various device operations is as follows:
Samsung Datasheet:
RESET
The device offers a reset feature, executed by writing FFh to the command
register. When the device is in Busy state during random read, program or
erase mode, the reset operation will abort these operations. The contents of
memory cells being altered are no longer valid, as the data will be partially
programmed or erased. The command register is cleared to wait for the next
command, and the Status Register is cleared to value C0h when WP is high.
Refer to table 3 for device status after reset operation. If the device is
already in reset state a new reset command will not be accepted by the
command register. The R/B pin transitions to low for tRST after the Reset
command is written. Reset command is not necessary for normal operation.
Refer to Figure 10 below.
I have tested this with both chiptypes. The erase is aborted and restarted by
the erase function.
It would really be interresting, if those problems are in related to an erase
abort. Can anybody insert some debugging in nand_get_chip, where the abort is
done?
--
Thomas
________________________________________________________________________
linutronix - competence in embedded & realtime linux
http://www.linutronix.de
mail: tglx at linutronix.de
More information about the linux-mtd
mailing list