linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tomasz Chmielewski <mangoo@wpkg.org>
To: Bart Van Assche <bart.vanassche@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	YSadgat1@gcte.com, linux-os@analogic.com,
	Alan <alan@lxorguk.ukuu.org.uk>,
	Linux IDE <linux-ide@vger.kernel.org>
Subject: Re: Compact Flash Question
Date: Wed, 07 May 2008 09:54:33 +0200	[thread overview]
Message-ID: <48216039.3070001@wpkg.org> (raw)
In-Reply-To: <e2e108260805070044v42f596bbj39c5b52b6f0a096@mail.gmail.com>

Bart Van Assche schrieb:
> On Wed, May 7, 2008 at 9:12 AM, Tomasz Chmielewski <mangoo@wpkg.org> wrote:
>> As Compact Flash and its wear levelling does not know about free space on
>> the filesystem, the wear levelling's effectiveness can be only limited -
>> writes won't spread on the whole free area of the flash.
>>
>> Does anyone know how wear levelling is done in these devices? Perhaps it
>> will differ from a manufacturer to manufacturer, but I guess they have a
>> free area we normally use to store data, and some reserved area used just
>> for wear levelling and bad block handling, but that's just my guess.
> 
> The wear leveling algorithm depends on the CompactFlash manufacturer.
> Most manufacturers define a certain number of areas on a CompactFlash.
> Each area consists of two or more sectors which are counted in the
> total size of the CompactFlash, and one or more spare sectors. Wear
> leveling is carried out within an area by spreading writes over the
> sectors in an area. The controller in the CompactFlash stores the data
> about which sectors are used for storing which data persistently. I
> know of only one manufacturer who makes the CompactFlash controllers
> carry out wear leveling over the whole CompactFlash. 

How does it work, then?
How can it do wear levelling over the whole CF if some (or most) area of CF is 
already used by our precious data/metadata?
It would have to know the areas where no data is stored, but it contradicts the 
CF <-> filesystem separation.


-- 
Tomasz Chmielewski
http://wpkg.org

       reply	other threads:[~2008-05-07  7:54 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <48215673.3060201@wpkg.org>
     [not found] ` <e2e108260805070044v42f596bbj39c5b52b6f0a096@mail.gmail.com>
2008-05-07  7:54   ` Tomasz Chmielewski [this message]
2008-05-07  7:58     ` Compact Flash Question Bart Van Assche
2008-05-07 12:31     ` Helge Hafting
2008-05-07 15:01       ` Stéphane ANCELOT
2008-05-07 16:46         ` Bart Van Assche
2008-05-08 13:26           ` Mark Lord
2008-05-08 14:27           ` Lennart Sorensen
2008-05-08 14:59             ` Willy Tarreau
2008-05-07  7:27 Tomasz Chmielewski
  -- strict thread matches above, loose matches on Subject: below --
2008-05-06 21:59 Yigal Sadgat
2008-05-06 22:09 ` Alan Cox
2008-05-13 17:13   ` Yigal Sadgat
2008-05-06 22:22 ` linux-os (Dick Johnson)
2008-05-07  6:15 ` Bart Van Assche
2008-05-07  7:39   ` Alan Cox

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48216039.3070001@wpkg.org \
    --to=mangoo@wpkg.org \
    --cc=YSadgat1@gcte.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=bart.vanassche@gmail.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-os@analogic.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).