public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* Unlocking with Intel J3 series flash
@ 2007-07-31 15:35 Ralph Siemsen
  2007-07-31 16:23 ` Ben Dooks
  2007-07-31 16:23 ` MikeW
  0 siblings, 2 replies; 6+ messages in thread
From: Ralph Siemsen @ 2007-07-31 15:35 UTC (permalink / raw)
  To: linux-mtd

Greetings,

When using Intel J3 flash, unlocking operations are horribly slow.
The reason for this is that the J3 has "Flexible Block-locking" feature
(to quote that data sheet) which "allows blocks to be individually
locked and simultaneously unlocked".

Unlike other flash chips which power up either locked or unlocked,
the J3 series stores lock status in the flash itself (non-volatile).
Locking is reasonably fast (~64us) and can be done per-block, but
unlocking is very slow (~0.5s) and does the whole chip at once.

Current MTD code makes the situation much worse, because the
unlock() operation goes via cfi_varsize_frob() and iterates over
the block lists.  This is of course correct behaviour when the
cells are indivudually un-lockable, however it results in minute-long
delays and many needeless erase cycles for the J3 series.

I am looking for ideas on how to deal with this.  One idea would be
to introduce a cousin to the existing MTD_STUPID_LOCK, perhaps one
called MTD_STUPID_UNLOCK, which would then be used to ensure that
unlocking does not iterate over all flash blocks.

-R

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2007-08-02 12:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-31 15:35 Unlocking with Intel J3 series flash Ralph Siemsen
2007-07-31 16:23 ` Ben Dooks
2007-07-31 17:56   ` Ralph Siemsen
2007-08-02 12:03   ` Ralph Siemsen
2007-07-31 16:23 ` MikeW
2007-07-31 21:33   ` David Woodhouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox