This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: FAT32 over NAND


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]