RE: Flash filesystem performance



Ok, First our TFAT flags are 00780034 and registry keys are following:

; @CESYSGEN IF CE_MODULES_STRATAD
; HIVE BOOT SECTION
; StrataFlash block driver.
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\StrataFMD]
"Dll"="stratad.dll"
"Order"=dword:2
"Prefix"="DSK"
"Ioctl"=dword:4
"Profile"="MSFlash"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
"MemBase"=dword:b9300000
"MemLen"=dword:03000000
"SectorSize"=dword:200
"BlockSize"=dword:20000
"IsPairedFlash"=dword:1

; Override names in default profile
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash]
"DefaultFileSystem"="FATFS"
"Name"="MSFLASH for STRATAFLASH"
"Folder"="Storage Card"
"AutoMount"=dword:1
"AutoPart"=dword:0
"AutoFormat"=dword:0

; Keep FATFS from trying to shadow \Windows
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\FATFS]
"Dll"="fatfsd.dll"
"MountFlags"=dword:0
"Flags"=dword:00780034
"Util"="fatutil.dll"
"Paging"=dword:1
"CacheSize"=dword:0
"FormatTfat"=dword:1

[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\MSFlash]
"DriverPath"="Drivers\\BuiltIn\\StrataFMD"
"LoadFlags"=dword:1
"Order"=dword:0
"BootPhase"=dword:0

We have PXA255 based platform and we are totally dependent on flash
filesystem. We were using TFAT before and after extensive powercycle testing
we have concluded that is not stable. We even tried FMD driver with WINCE5.0
which is much better (erase block signatures added etc.) than FMD in
WINCE4.2, but still not good enough. I think something must go wrong with FAT
tables updating (both of them are getting lost or just pšart of them). They
become corrupted after overnight testing (lost files, missing directories,
sometimes even deadlock of the filesystem). You can see my previous posts. I
am afraid that there is a problem in FAL library which is not documented at
all. The problem is most likely connected with compaction thread. I think
TFAT is good for battery backed up devices which have enough time to
gracfully shut down the filesystem and never interrupt the flash internal
routines, but in embedded devices without battery backup (like our) things
are not so simple. Power cycle could easily interrupt flash internal routines
and driver hasn' t enough time to shut down (ups problems:)).

With IPSM the filesystem is stable (even pure hardware resets witn no
powerdown signaling can't corrupt it), but it's slow :(.

If you have some ideas how to stabilise TFAT I will be very interested.

Thanks, Jernej


"anonymous" wrote:

> Well, its not open source as of yet, so nothing to be done unless you
> complain to Intel.
>
> Let's get back to what is in our control. What were you using for FATFS
> flags and registry keys under TFAT ?
>
> I'm looking a new flash options not supported under PSM, so looking at TFAT,
> but there seems to be a body of posts that TFAT isn't robust enough for
> folks, but there are a lot of options and I'm not clear that all necessarily
> default to the most conservative state.
>
> If folks are having problems with TFAT getting corrupted, can we work as a
> community to figure out what's not working ?
>
> "turnsek" wrote:
>
> > Ok, I understand factor 1 or 2 maybe, but 10 times slower than TFAT, please.
> > This must be something wrong in the IPSM code. As I understand, filesystem
> > structure should be kept in RAM and searched quickly and when the file is
> > found then data should be read out from flash. Here seems to be everything is
> > kept on flash :(.
> >
> >
> > "anonymous" wrote:
> >
> > > I don't think any of us can answer this until Intel goes open-source with
> > > PSM, but you're results are not unusual. PSM does not perform as fast as
> > > FAT-based systems.
> > >
> > > Try opening a file with write priviledges in a subdirectory three or four
> > > levels down and closing it and see how long it takes. Quite an eye-opener.
> > >
.



Relevant Pages

  • Re: TFAT stability
    ... you can see that disk-like 512-byte sectors are mapped plain linearly to flash memory. ... TFAT knows nothing of flash blocks. ... We have turned off AutoScan and the platform seems to be stable. ... I think the filesystem moust be unmounted during ...
    (microsoft.public.windowsce.platbuilder)
  • Re: TFAT stability
    ... if you look at how the msflash block driver is implemented, you can see that disk-like 512-byte sectors are mapped plain linearly to flash memory. ... TFAT knows nothing of flash blocks. ... I think the filesystem moust be unmounted during ...
    (microsoft.public.windowsce.platbuilder)
  • Re: TFAT stability
    ... So you think there is no solution to stabilize the filesystem? ... you can see that disk-like 512-byte sectors are ... > mapped plain linearly to flash memory. ... TFAT knows nothing of flash blocks. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: TFAT stability
    ... > when we switched on TFAT, ... > driver and not the TFAT. ... > We are perfoming powerdown and powerup tests for now and we'll see if it ... TFAT filesystem is on the CF card ...
    (microsoft.public.windowsce.platbuilder)
  • Re: TFAT stability
    ... >>> when we switched on TFAT, ... >>> driver and not the TFAT. ... >>> We are perfoming powerdown and powerup tests for now and we'll see if ... TFAT filesystem is on the CF card ...
    (microsoft.public.windowsce.platbuilder)

Loading