linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Compact Flash Question
@ 2008-05-06 21:59 Yigal Sadgat
  2008-05-06 22:09 ` Alan Cox
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Yigal Sadgat @ 2008-05-06 21:59 UTC (permalink / raw)
  To: linux-kernel, linux-ide; +Cc: jwboyer, joern

We wrote the Kernel to support CF drives (in IDE mode) several years ago but
now there are strange things coming back from the field that compel us to go
back and re-evaluate many design decisions.

For instance,
(1) Can you really ignore bit(2) (CORR) in the Status register offset 7 that 
tells
you that the CF has detected and corrected a soft error?, etc.
(2) An engineer at SanDisk Engineering told me NOT to do wear leveling.
The file allocation table is written very frequently back into the flash. So
is it really safe to assume that I don't need wear leveling???
(3) Re. the BUSY bit in the status register (offset 7, bit D7), anybody 
experienced
time outs?
(4) Re Error register (offset 1) bit D7 (BBK), again, I was told that it 
cannot (???)
happen since the CF performs read-after-write and it automatically switches 
good blocks
for bad ones... Is this correct?

We get many "soft" errors and I cannot wait to put my hand on a system to 
test but
thought I would draw on your collective experience before we dive into these 
issues again.

Any comments would be greatly appreciated.

Yigal Sadgat
General Computer Technology (GCT)
YSadgat1@gcte.com




^ permalink raw reply	[flat|nested] 15+ messages in thread
* Re: Compact Flash Question
@ 2008-05-07  7:27 Tomasz Chmielewski
  0 siblings, 0 replies; 15+ messages in thread
From: Tomasz Chmielewski @ 2008-05-07  7:27 UTC (permalink / raw)
  To: Linux IDE

Bart Van Assche wrote:

> For most Linux filesystems you really need wear leveling. E.g. ext3's
> superblock is at a fixed location and gets overwritten frequently.
> Without wear leveling you risk that the flash sector where the
> superblock resides wears out early.

Compact Flash (and other similar media) does wear levelling, so essentially,
even if we write to the same fixed location, in reality, it will mostly go to a
different area on flash each time.

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.


> When using ext3 on a CompactFlash, you can limit the number of writes
> to the CompactFlash significantly by mounting the medium with
> parameters like noatime,nodiratime,commit=300.

noatime implies nodiratime, so there is no need to add the latter.


-- 
Tomasz Chmielewski
http://wpkg.org



^ permalink raw reply	[flat|nested] 15+ messages in thread
[parent not found: <48215673.3060201@wpkg.org>]

end of thread, other threads:[~2008-05-13 17:13 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-06 21:59 Compact Flash Question 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
  -- strict thread matches above, loose matches on Subject: below --
2008-05-07  7:27 Tomasz Chmielewski
     [not found] <48215673.3060201@wpkg.org>
     [not found] ` <e2e108260805070044v42f596bbj39c5b52b6f0a096@mail.gmail.com>
2008-05-07  7:54   ` Tomasz Chmielewski
2008-05-07  7:58     ` 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

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).