[geeks] Flash wear leveling

Alois Hammer aloishammer at gmail.com
Thu Feb 21 16:27:58 CST 2008


I'm asking here because this looks like the largest, most
easily-accessible collection of fellow geeks who can maybe help me out
with a really esoteric question:

*How* does modern flash memory wear leveling work?

I'm asking because I'm working on several projects that are going to
require use of flash memory to save on space, power, and heat.  I've
spent hours on Google, and the best I can come up with is:

* Really old industrial flash parts speak FAT16, because if they
didn't, they'd have no clue what sectors are free, nor how to allocate
newly-requested sectors based on usage.  I've actually found a couple
of ancient (16MB part) whitepapers on the subject.

* Modern consumer parts (what I'll be using -- either SD or CF,
probably) "have wear leveling."  I've tried contacting several major
manufacturers (incl. Transcend) to find out if SD comes preformatted
as FAT16 and SDHC as FAT32 for a good reason, or if someone's made
breakthroughs in wear leveling that don't require the controller's
knowledge of the underlying filesystem to work.  I've gotten no
responses whatsoever.

* My best guess, based on available information, is that if I start
tossing UFS or ext3 or other filesystems onto flash memory, wear
leveling goes out the window.

Even the tiniest scrap of information would be a big help.  TIA.



More information about the geeks mailing list