Subject: RE: Re: Using SD/CF/etc. type removable FLASH ROM
To: None <email@example.com, mouse@Rodents.Montreal.QC.CA>
From: Doug Fraser <firstname.lastname@example.org>
Date: 03/18/2005 06:57:36
I believe most CF devices do wear leveling internally.
SD/MMC do not typically. They are raw NAND block devices.
(I have worked with both...) You can perform your own
wear leveling on NAND devices. They provide overhead
bits with each block to allow ECC and erase tracking
as well as P<->L block mapping.
One of the file system issues with CF is that the file access bits
get written all the time. This leads to wear even if you are just
reading. It depends on your file access patterns as to whether that
is moot or not. You have the source to the FS driver, so you could
modify it to not update the access bits unless the file is written.
Then the wear is purely write related. Also, the wear is attibuted
to erases, not writes, so it really depends on how often you are
forcing the controller on the CF to reclaim blocks. Given that you
get about 100,000 erases per block (typical) and you have some
reasonable wear leveling, and given that the array is typically
built from parts with 256KB blocks, you have a lot of block reclaim
actions to do before the part is toast.
From: Michael <email@example.com>
Sent: Thu, 17 Mar 2005 23:48:10 -0500
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
Subject: Re: Using SD/CF/etc. type removable FLASH ROM
> >> In NetBSD 1.6,
> >> 1. Is there any filesystem that can be used for flash rom?
> > Whatever you want.
> Pretty much, yeah, if your CF does wear leveling on its own. If not, I
> don't know of any open-source filesystems that are suitable, but since
> I've never looked, that means little.
Depends - it's not clear he needs much writing. I'm sure things like utmp, wtmp and so on could live happily in a memory filesystem.