[TriLUG] compact flash writes

Chander Ganesan chander at microhard.com
Wed Dec 1 17:21:38 EST 2004


My understanding is that wear leveling on CF cards is done within zones 
(at least for sandisk cards, it could vary by vendor).  The zones vary 
in size based on the card size I think, but the typical zone size is 
about 4 MB (of contiguous blocks).

I haven't done anything with CF for well over a year, so things may have 
changed quite a bit by now (you never know).

If I remember correctly, SanDisk had an excellent white paper on wear 
leveling on CF cards.  You might search for it online, or call them and 
ask for it.

Hope that helps..

Chander Ganesan
Microhard Technical Institute

Alan Porter wrote:

>
> I am developing an embedded Linux system that uses
> a compact flash card for storage.  I have a little
> bit of data that needs to be stored to the card,
> but I do not want the entire disk to be mounted
> read/write.
>
> So I have made two partitions on the CF card:
>
>   # fdisk -l /dev/sda
>
>   Disk /dev/sda: 261 MB, 261881856 bytes
>   16 heads, 32 sectors/track, 999 cylinders
>   Units = cylinders of 512 * 512 = 262144 bytes
>
>      Device Boot Start  End  Blocks  Id  System
>   /dev/sda1          1   62   15856  83  Linux
>   /dev/sda2   *     63  999  239872  83  Linux
>
> My question is this.  If I write to the 16 meg
> read-write partition (/dev/sda1), will the writes
> be spread across the entire disk by the CF card's
> internal wear-leveling?  Or will it spread the
> writes only within my 16-meg read-write partition?
>
>
> Alan
>
>
>
>




More information about the TriLUG mailing list