Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Thread

Philips appnote interfacing MMC to LPC2xxx

Philips appnote interfacing MMC to LPC2xxx

2006-01-05 by Micron Engineering

I read the application note, I have just a question:
- SD and MMC implement a wear level mechanism or have I to provide a 
wear leveling algorithm by myself?
Best regards.

  ----------

No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.14.12/220 - Release Date: 03/01/2006


[Non-text portions of this message have been removed]

Re: [lpc2000] Philips appnote interfacing MMC to LPC2xxx

2006-01-05 by Tom Walsh

Micron Engineering wrote:

>I read the application note, I have just a question:
>- SD and MMC implement a wear level mechanism or have I to provide a 
>wear leveling algorithm by myself?
>  
>
Depends on whether you purchase the cheapest, "house brand", device or 
spend the money for a Sandisk / Lexmark.

IIRC, Sandisk includes the wear leveling.  From page 1-3 of the SanDisk 
document #80-36-00320:

"1.8 Defect and Error Management
... In the rare case that a bit is found to be defective, the cards 
replace it with a spare bit within the sector header.  If necessary, the 
card will replace the entire sector with a spare sector ..."

As they say: RTFM, Read The Fine Manual.


TomW


-- 
Tom Walsh - WN3L - Embedded Systems Consultant
http://openhardware.net, http://cyberiansoftware.com
"Windows? No thanks, I have work to do..."
----------------------------------------------------

Re: [lpc2000] Philips appnote interfacing MMC to LPC2xxx

2006-01-05 by Sean

The end answer to your question is no, you do not need to implement this 
yourself, unless you really plan on hammering the card.  Most SD cards 
these days have between 10,000 to 100,000 write cycles per sector.  For 
example, assuming 100,000 cycles, if you updated a sector once per minute, 
24 hours a day, you would exceed the rated life after 70 days.  However if 
you wrote once per 10 minutes, you'd get 2 years out of it.  As long as you 
don't use Flash like RAM I don't see why you'd need to write that often.

Kingston cards seem to incorporate a built in wear levelling mechanism, and 
also bad block remapping facility, by reserving sectors similar to how a 
hard drive does it.  SanDisk's SD manual states that on their devices the 
wear level command is equivalent to a NOP, since they have > 100,000 
cycles.  That information is from around 2003, so I assume it's still accurate.

-- Sean

At 09:33 PM 1/4/2006, you wrote:
Show quoted textHide quoted text
>I read the application note, I have just a question:
>- SD and MMC implement a wear level mechanism or have I to provide a
>wear leveling algorithm by myself?
>Best regards.

Re: [lpc2000] Philips appnote interfacing MMC to LPC2xxx

2006-01-05 by Sean

As a more definitive answer:

The latest SanDisk product manuals can be found here:

http://www.sandisk.com/Oem/Manuals/

Note the latest RS/MMC manual has no mention of wear levelling, but does 
mention the automatic bad sector remapping.  The latest CF and SD documents 
explicity state that wear levelling is not required, but implemented as a 
NOP command for backwards compatibility.  However other manufacturers may 
actually implement the command, assumedly if their # of write cycles 
supported is low.

You may also find this interesting:

http://www.sandisk.com/Assets/File/OEM/ApplicationNotes/MultiMediaCard/AppNoteMMCQAv1.0.pdf

So basically the decision is up to you as to wether or not you want to 
implement your own wear levelling, however unless you're really hammering 
the flash I'd think it's not necessary. YMMV.

-- Sean



At 09:33 PM 1/4/2006, you wrote:
Show quoted textHide quoted text
>I read the application note, I have just a question:
>- SD and MMC implement a wear level mechanism or have I to provide a
>wear leveling algorithm by myself?
>Best regards.

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.