[ECOS] FAT32 over NAND
Rutger Hofman
rutger@cs.vu.nl
Tue Jan 20 15:40:00 GMT 2009
Himanshu Patel wrote:
> Okay...Thanks...
>
> YAFFS2 is not a possible option...As device should also be able to access on
> Windows PC using mass storage interface...
Is this a NAND memory smart-card (MMC, SD, USB flash drive or whatever)?
These usually come with an FTL on-board, which offers a file system like
FAT32. You need no Flash code for that.
Is this a raw flash? So, how is it going to be accessed from Windows if
the file system is completely in software?
> Can we use NFTL (NAND flash translation layer) support provided by Linux?
I am no Linux expert, but my feeling is that NFTL is very old, and that
flash handling is done through UBI/UBIFS. The UBIFS link in my message
below seems rather informative.
Rutger
> Regards,
>
> Himanshu Patel
>
> -----Original Message-----
> From: Rutger Hofman [mailto:rutger@cs.vu.nl]
> Sent: Tuesday, January 20, 2009 8:15 PM
> To: Himanshu Patel; 'eCos Discuss'
> Subject: Re: [ECOS] FAT32 over NAND
>
> Andrew Lunn wrote:
>> On Tue, Jan 20, 2009 at 07:38:02PM +0530, Himanshu Patel wrote:
>>> Hi,
>>>
>>> We want to have FAT32 file system over NAND flash. Is it possible? What
>>> approach should we take for developing the same?
>> If you look back in the archive, last year there was some work to get
>> YAFFS on NAND working. I would suggest trying to build on the NAND
>> infrastructure that provided.
>
> I implemented basic NAND flash functionality and a wrapper layer for
> YAFFS2, a file system designed specifically for NAND flash. For an alpha
> release (and maybe later on, beta release) of my code, see:
> http://www.cs.vu.nl/~rutger/software/ecos/nand-flash/
>
> If you want FAT32, you will have to create (port from elsewhere?) a FTL
> (Flash Translation Layer) that implements lots of stuff to make FAT32
> behave in a NAND-compatible way. For a discussion of this in the context
> of UBIFS (the latest-greatest Linux NAND flash file system), see:
>
> http://www.linux-mtd.infradead.org/doc/ubifs.html#L_raw_vs_ftl
>
> An FTL should minimally provide:
> - wear levelling
> - garbage collection for released blocks
> - bad block management
> - write caching because programming has to be consecutive and in at most
> a few operations.
>
> YAFFS2 implements all this already. Is using YAFFS2 an option, maybe?
>
> Rutger Hofman
> VU Amsterdam
>
>
>
>
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
More information about the Ecos-discuss
mailing list