[PATCH] mtd: cfi_cmdset_0001 - fixup for PC28F512P33TFA
Christoph Fritz
chf.fritz at googlemail.com
Tue Apr 1 08:09:51 PDT 2014
Hi Joakim,
thanks for your input, please see my further comments below.
On Tue, 2014-04-01 at 13:15 +0200, Joakim Tjernlund wrote:
> > There has been complaints in the past with no erase suspend.
> > You get delays considering that an erase takes c.a 1 sek so
> > once you get into a state where GC is erasing lots of blocks and other
> > progs wants read/write you will notice.
Yes it's not a fine solution, it's a quirk for a hardware with issues.
But here for me it's better to get delays than having to suffer from
flash errors.
> > > > The document mentions other ways to get around this problem, I
> suggest you
> > > > explore
> > > > these first.
> > >
> > > Already tried the “0xFF” dummy write cycle suggestion, should have
> > > mentioned that.
> >
> > OK, but one more workaround(the udelay part) is required, right?
>
> There something odd with the patches in the mentioned doc.
> 1) "Resolving ERASE SUSPEND Hangups" touches the same code as
> 2) "ERASE SUSPEND Following ERASE RESUME"
>
> 1) says to add write(0xff) and 2) adds a udelay
>
> What should it be, both? in what order?
>
> I suspect that any write(0xff) can be there unconditionally, provided that
> the cmd0001 spec allows it.
> The delay could be a quirk default to 0
I already tried all sorts of combinations of various delays and 0xff
writes, which can be used wasteful without impact. And yes, errors are
happening less -- but are still happening (at for example -2°C starting
udev or a filesys-bench program like bonnie++).
Sure, it's possible that I missed the holy right
delay-0xff-quirk-combination to get this NOR flash reliable working for
its specified temperature range. But until nobody has found it, I would
prefer to stick to my posted quirk and just disable suspend erase.
Maybe someone from Micron can help?
Thanks
-- Christoph
More information about the linux-mtd
mailing list