Nadav Har'El wrote:
On Thu, May 17, 2007, Gilad Ben-Yossef wrote about "Re: running testing patterns on
block devices":
The more writes, the lesser the useful life expetency. To combat this the
Compact Flash hardware does something called uses a "wear leveling
algorithm" to virtualize the low level sectors the OS sees to a different
erase block each time.
I have a question unrelated to the original question (and to Linux...):
How does this "wear leveling" work if a card is mostly full? E.g., my
typical situation is that I have a 512 MB card, but 450 MB of it is full
(with pictures I don't want to erase), and I constantly reuse the empty
space. Am I damaging my card, or does the card notice this and copies
around blocks even when I never touch them? Or should I just ignore this
whole issue, because even if I take pictures and remove them 1,000 times,
this is nothing compared to the 100,000 number you mentioned?
I don't know what the hardware in the CF cards does (it probably considered a trade secret), but judging by what the
JFFS2 file system in the Linux kernel which does "wear leveling" for "nude" flashes (not in a Compact Flash packaging,
but directly connected to the board), then yes, you're re-using the "empty" erase blocks over and over again.
For a camera used CF, this can indeed be ignored for the reasons youe specified, but when CFs are used in embedded
system desings to store "more important things" this needs to be taken into consideration.
ps. See, I managed to make it Linux related, after all... :-)
Gilad
--
Gilad Ben-Yossef <[EMAIL PROTECTED]>
Codefidence. A name you can trust(tm)
http://www.codefidence.com
Phone: +972.3.7515563 ext. 201 | Cellular: +972.52.8260388
SIP: [EMAIL PROTECTED] | Fax: +972.3.7515503
"Dimensionally Transcendent Lorentzian Transformational
Scheduler...
Is that the one that lets processes perform an infinite
loop so fast that they travel back in time and become
their own process group leader?"
-- Seen on LWN.
=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]