CompactFlash...

David Woodhouse dwmw2 at infradead.org
Tue May 6 17:07:57 EDT 2003


On Tue, 2003-05-06 at 21:58, Charles Manning wrote:
> The docs are inconsistent. Personally I am not really bothered by the lack of 
> wear levelling on some NAND systems. If a block dies, it is replaced by a 
> reserved one.  The SmartMedia block management scheme results in a 
> "statistical wear levelling". ie. Explicite wear levelling is not performed, 
> but the net result is some degree of wear levelling. My understanding is that 
> full-size (PCMCIA) ATA cards support explicite wear levelling, but CF does 
> not.

You have 50 blocks each with 1M erases. You have 48 blocks worth of
permanent code and data to store, one block of dynamic configuration and
data. You have only 'accidental' wear levelling, using two blocks alone
while leaving the 48 containing code entirely untouched. You have killed
your device after 2M erases, when the first two blocks go bad, while the
other 48 are entirely untouched. 

If you do explicit wear levelling you get 50M erases, not just 2M.

Of course that's a little contrived, we're assuming a block dies _on_
the 1 millionth erase and that there are no other bad blocks as you
might expect on NAND. But it does highlight why for some purposes
explicit wear levelling is desirable.

-- 
dwmw2





More information about the linux-mtd mailing list