public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] RE : JFFS2 for NAND flash file system
@ 2011-05-17 10:15 Paul MAILLET
  2011-05-17 10:51 ` Ross Younger
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Paul MAILLET @ 2011-05-17 10:15 UTC (permalink / raw)
  To: ecos-discuss

> There's a YAFFS port for eCos, which is targetted specifically for NAND parts.

Yes, YAFFS should have been the solution if it was under the same
license of eCos.

> At the moment, NAND support is not in the eCos trunk, so to get it working you'd have to start with the public trunk, then pull from the nand-ecoscentric repository on
> http://hg-pub.ecoscentric.com/. YAFFS has its own license so is in a separate repository named yaffs-ecoscentric-gpl.

>You haven't said which board you're using, so it's likely that you will also need to add NAND support to the board HAL (and possibly a chip driver for whatever is on that board).

My board is an ERTEC200 evalution board (DevKit) from SIEMENS. For the
flash, it uses the general flash support package with a specific flash
memory device support (AMD AM29XXXXX). The ERTEC and board
architecture support are provided with the DK.

The problem with this DK is that the eCos version is not fixed, it
seems to be post eCos v2 but pre eCos v3.0. Is there a mean to know
the exact version I use?

I downloaded the YAFFS package (file .epk) to evaluate it, but I was
unable to add the package to the repository, the configuration tool
ended with an error when importiong the .epk file...

Regards,
Paul

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [ECOS] RE : JFFS2 for NAND flash file system
  2011-05-17 10:15 [ECOS] RE : JFFS2 for NAND flash file system Paul MAILLET
@ 2011-05-17 10:51 ` Ross Younger
  2011-05-17 18:15 ` Stanislav Meduna
  2011-05-31 15:20 ` [ECOS] " Paul MAILLET
  2 siblings, 0 replies; 18+ messages in thread
From: Ross Younger @ 2011-05-17 10:51 UTC (permalink / raw)
  To: ecos-discuss

* Paul MAILLET <paulmaillet37@gmail.com> wrote:
> Yes, YAFFS should have been the solution if it was under the same
> license of eCos.

Commercial licenses for YAFFS are available from eCosCentric.

> My board is an ERTEC200 evalution board (DevKit) from SIEMENS.
> The problem with this DK is that the eCos version is not fixed, it
> seems to be post eCos v2 but pre eCos v3.0. Is there a mean to know
> the exact version I use?

The public tree is generally stable. Most people use snapshots from
the public mercurial or cvs repositories.

That board doesn't appear to be in the public tree, so the support you can
get via this list is very limited. I suggest you refer to whoever
supplied you with the software.

> I downloaded the YAFFS package (file .epk) to evaluate it, but I was
> unable to add the package to the repository, the configuration tool
> ended with an error when importiong the .epk file...

What was the error?

The YAFFS GPL package is targetted at the public eCos tree. Possibly
the ERTEC200 port is based on eCosPro? If so, it may already contain the
eCosCentric NAND tree. I wouldn't be surprised if the subtle differences
between eCos and eCosPro were to cause a problem - if that is the case,
you should definitely refer back to Siemens, or whoever provided you
with the port.


Ross

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [ECOS] RE : JFFS2 for NAND flash file system
  2011-05-17 10:15 [ECOS] RE : JFFS2 for NAND flash file system Paul MAILLET
  2011-05-17 10:51 ` Ross Younger
@ 2011-05-17 18:15 ` Stanislav Meduna
  2011-05-31 15:20 ` [ECOS] " Paul MAILLET
  2 siblings, 0 replies; 18+ messages in thread
From: Stanislav Meduna @ 2011-05-17 18:15 UTC (permalink / raw)
  To: ecos-discuss

On 17.05.2011 11:36, Paul MAILLET wrote:

> The problem with this DK is that the eCos version is not fixed, it
> seems to be post eCos v2 but pre eCos v3.0. Is there a mean to know
> the exact version I use?

No other mean than to ask Siemens, I'm afraid.

> I downloaded the YAFFS package (file .epk) to evaluate it, but I was
> unable to add the package to the repository, the configuration tool
> ended with an error when importiong the .epk file...

Watch for license issues - YAFFS either costs a fortune (unless
you will be producing quite a lot of devices) or you'll need
to publish the sources. Which might be a problem and you'll
need to check with Siemens first. The docs for the network part
of the ERTEC200 chip is not publicly available so you'll have
to stick with their driver source (good luck reading it - been
there, done that :/ ) at least for that part, which might or might
not allow combining with GPL code.

-- 
                                     Stano

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [ECOS] Re: RE : JFFS2 for NAND flash file system
  2011-05-17 10:15 [ECOS] RE : JFFS2 for NAND flash file system Paul MAILLET
  2011-05-17 10:51 ` Ross Younger
  2011-05-17 18:15 ` Stanislav Meduna
@ 2011-05-31 15:20 ` Paul MAILLET
  2011-05-31 18:50   ` Ross Younger
                     ` (2 more replies)
  2 siblings, 3 replies; 18+ messages in thread
From: Paul MAILLET @ 2011-05-31 15:20 UTC (permalink / raw)
  To: ecos-discuss

Hi,

I have been able to configure and run JFFS2 on my target, I have
successfully tested basics functionalities. As my target use NAND
flash and JFFS2 doesn't support it, I would like to know if it is
really problematic or dangerous or anything that I should be aware of
when using it on NAND flash device.

Also I have looked for information about block usage like how many
blocks are used when I create a directory or an empty file but I did
not find these data.

Can someone shed some ligth on this?

Thanks,
Best regards,
Paul

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [ECOS] Re: RE : JFFS2 for NAND flash file system
  2011-05-31 15:20 ` [ECOS] " Paul MAILLET
@ 2011-05-31 18:50   ` Ross Younger
  2011-05-31 20:40     ` [ECOS] " Stanislav Meduna
  2011-06-01  7:11     ` [ECOS] Re: RE : " Lambrecht Jürgen
  2011-06-01  7:28   ` Lambrecht Jürgen
  2011-06-01  9:23   ` Paul MAILLET
  2 siblings, 2 replies; 18+ messages in thread
From: Ross Younger @ 2011-05-31 18:50 UTC (permalink / raw)
  To: ecos-discuss

* Paul MAILLET <paulmaillet37@gmail.com> wrote:
> As my target use NAND
> flash and JFFS2 doesn't support it, I would like to know if it is
> really problematic or dangerous or anything that I should be aware of
> when using it on NAND flash device.

Running a non-NAND-aware filesystem on NAND is a very bad idea.

On NAND parts it is mandatory to implement an error correcting code (ECC),
either in software, or in hardware if your board's memory controller
supports it. Any given NAND part's datasheet should contain details
of the recommended minimum protection level to use for that chip. It is
traditional to store the computed ECC in each page's out-of-band ("spare")
area and check it on read. Without an ECC, you will get no warning of the
occasional random bitflips which occur in the data returned from the chip.

Even reading a NAND page can, once in a while, cause a bit in-flash to
flip (the "read disturb" effect). If your filesystem doesn't periodically
refresh its contents, files and/or filesystem metadata which is frequently
read but never changed will gradually rot.

NAND flash, like NOR, gradually wears out over time. However, a NAND
driver author is expected to notice when blocks fail to write correctly
(many chips will tell you when they have failed to write) and devise a
method of putting such blocks beyond use. If you don't do this, you will
experience long-term reliability issues.

There may also be a small number of eraseblocks declared to be bad during
factory testing. This is done by setting a marker in the OOB area;
again, check the datasheet for details. A correct NAND implementation
will avoid such blocks; if you were to write to one, the chip's behaviour
is undefined.


In summary, you cannot safely run any filesystem on NAND parts unless
it has been specifically designed or modified for the peculiarities of
NAND flash. I cannot state this strongly enough.


Now, the public JFFS2 tree has had support for NAND flash since 2003.
It looks like the version in eCos dates from around that time, though
has its NAND support disabled; there's an argument to be made that this
perhaps ought to be put right some time.


Regards,

Ross

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [ECOS] JFFS2 for NAND flash file system
  2011-05-31 18:50   ` Ross Younger
@ 2011-05-31 20:40     ` Stanislav Meduna
       [not found]       ` <4DE55229.8000009@dallaway.org.uk>
  2011-06-01  7:11     ` [ECOS] Re: RE : " Lambrecht Jürgen
  1 sibling, 1 reply; 18+ messages in thread
From: Stanislav Meduna @ 2011-05-31 20:40 UTC (permalink / raw)
  To: ecos-discuss

On 31.05.2011 17:42, Ross Younger wrote:

> Running a non-NAND-aware filesystem on NAND is a very bad idea.

Is there any NAND-aware filesystem with eCos-compatible license?
I only know of jffs2 - yaffs2 is GPL or (a lot of) $$$ and ubifs
is also GPL.

Actually I am seeing this situation as a major drawback to eCos -
nowadays just about any device uses NAND for larger storage...

> Even reading a NAND page can, once in a while, cause a bit in-flash to
> flip (the "read disturb" effect). If your filesystem doesn't periodically
> refresh its contents, files and/or filesystem metadata which is frequently
> read but never changed will gradually rot.

Hmm, does jffs2 handle this? I don't remember seeing something like this
in the code, but maybe I did not look at recent enough one.

> Now, the public JFFS2 tree has had support for NAND flash since 2003.
> It looks like the version in eCos dates from around that time, though
> has its NAND support disabled; there's an argument to be made that this
> perhaps ought to be put right some time.

AFAIK when this was discussed there was some architectural problem -
Linux's jffs2 uses mtd layer and that code is GPL, so it needs
to be written from scratch:
http://www.cygwin.com/ml/ecos-discuss/2008-07/msg00055.html

-- 
                                           Stano

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* RE: [ECOS] Re: RE : JFFS2 for NAND flash file system
  2011-05-31 18:50   ` Ross Younger
  2011-05-31 20:40     ` [ECOS] " Stanislav Meduna
@ 2011-06-01  7:11     ` Lambrecht Jürgen
  1 sibling, 0 replies; 18+ messages in thread
From: Lambrecht Jürgen @ 2011-06-01  7:11 UTC (permalink / raw)
  To: 'Ross Younger', ecos-discuss



> -----Original Message-----
> From: ecos-discuss-owner@ecos.sourceware.org [mailto:ecos-discuss-
> owner@ecos.sourceware.org] On Behalf Of Ross Younger
> Sent: dinsdag 31 mei 2011 17:42
> To: ecos-discuss@ecos.sourceware.org
> Subject: Re: [ECOS] Re: RE : JFFS2 for NAND flash file system
> 
> * Paul MAILLET <paulmaillet37@gmail.com> wrote:
> > As my target use NAND
> > flash and JFFS2 doesn't support it, I would like to know if it is
> > really problematic or dangerous or anything that I should be aware of
> > when using it on NAND flash device.
> 
> Running a non-NAND-aware filesystem on NAND is a very bad idea.
> 
> On NAND parts it is mandatory to implement an error correcting code
> (ECC),
> either in software, or in hardware if your board's memory controller
> supports it. Any given NAND part's datasheet should contain details

[snip]

Mark that 1-bit ECC can be calculated in SW (on our ARM9 it works), but not the current 4b ECC (it will be too slow). Then you really need HW support. And soon 8b ECC will be required! So check your micro-controller's NAND flash driver!
Our Micron part was made obsolete, but with pin compatible replacements, but with 4b instead of 1b ECC.
OK, Micron has on-die ECC, but only for the current parts (obsolete in a few years?), not for the future parts with 8b ECC, and not for the biggest parts.

Regards,
Jürgen

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* RE: [ECOS] Re: RE : JFFS2 for NAND flash file system
  2011-05-31 15:20 ` [ECOS] " Paul MAILLET
  2011-05-31 18:50   ` Ross Younger
@ 2011-06-01  7:28   ` Lambrecht Jürgen
  2011-06-01  9:23   ` Paul MAILLET
  2 siblings, 0 replies; 18+ messages in thread
From: Lambrecht Jürgen @ 2011-06-01  7:28 UTC (permalink / raw)
  To: 'Paul MAILLET', ecos-discuss

Hello Paul,

it has been a while, but this is what I remember from JFFS2:
- on writing data, at minimum 128B is always written (is a configuration option, check ecos.ecc) in a node, and the maximum is 4kB (also a configuration option) before a new node is started
- such a node needs meta-data; when using dynamic allocation, each node will consume 24B; when using the static allocation option it only consumes the needed 16B
- Per file there is also file meta-data, 64B I think.
- be careful with writing a file in small chunks: for each write a node is created. When opening the file again, each node consumes 100B of RAM; so opening a 1000B file written in 100 times 10B, will consume 100*100B of RAM! And this also thrashes your file system - and when your file system is full, a garbage collect will be done, and that can easily time-out a TFTP-write.
- JFFS2 needs a lot of RAM, for example for a 60MB partition, you really need 1MB of RAM for JFFS2 only, even better 2MB.
- if JFFS2 will run on a system that will normally be never powered-down, and if you use JFFS2 to write to, you need to do some garbage collect from time to time, but garbage collect is not thread-safe..

Success,
Jürgen

> -----Original Message-----
> From: ecos-discuss-owner@ecos.sourceware.org [mailto:ecos-discuss-
> owner@ecos.sourceware.org] On Behalf Of Paul MAILLET
> Sent: dinsdag 31 mei 2011 17:04
> To: ecos-discuss@ecos.sourceware.org
> Subject: [ECOS] Re: RE : JFFS2 for NAND flash file system
> 
> Hi,
> 
> I have been able to configure and run JFFS2 on my target, I have
> successfully tested basics functionalities. As my target use NAND
> flash and JFFS2 doesn't support it, I would like to know if it is
> really problematic or dangerous or anything that I should be aware of
> when using it on NAND flash device.
> 
> Also I have looked for information about block usage like how many
> blocks are used when I create a directory or an empty file but I did
> not find these data.
> 
> Can someone shed some ligth on this?
> 
> Thanks,
> Best regards,
> Paul
> 
> --
> Before posting, please read the FAQ:
> http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [ECOS] Re: RE : JFFS2 for NAND flash file system
  2011-05-31 15:20 ` [ECOS] " Paul MAILLET
  2011-05-31 18:50   ` Ross Younger
  2011-06-01  7:28   ` Lambrecht Jürgen
@ 2011-06-01  9:23   ` Paul MAILLET
  2011-06-01 10:54     ` [ECOS] " Stanislav Meduna
                       ` (2 more replies)
  2 siblings, 3 replies; 18+ messages in thread
From: Paul MAILLET @ 2011-06-01  9:23 UTC (permalink / raw)
  To: ecos-discuss

Hi,

Sorry if my questions could seem a bit lacking but I am new here and I
am quite curious.

For the moment the differences between JFFS2 NAND flash support and
eCos NAND support is not clear in my head.
I understand that NAND flash devices have some drawbacks that must be
taken in account, like :
- wear-levelling for increasing the life time of the device
- ECC (error code correction) to manage bit-flipping
- Bad blocks management

I may be wrong but in my head all these functionality should be
present in the eCos NAND flash support.
For me this layer will use the below layer, the hardware specific NAND
driver, to perform simple read/write.
It will implement WL, ECC and BBM, and provide an API for upper layers
like file systems. Am I wrong?

Here is a drawing of layers as i see it :
___________________
|                                 |   API for app/user
|           FILE IO           |
|___________________|
|                                 |   API for upper layer
|               FS              |  Manage the file system
|___________________|  Use the eCos NAND support interface to perform read/write
|                                 |           API for upper layer
|  eCos NAND support  |           Implement NAND drawbacks management
|___________________|           Uses HW NAND driver to perform simple
R/W operations
|                                 |                     API to access the HW
|   HW NAND Driver      |                    Manage R/W operations
|___________________|                    Reach the hardware


For me it is clear that the FS has nothing to do with all the NAND
drawbacks, it's the job of the NAND support layer, isn't it?

Finally, what are the functionality that make the FS compliant to NAND
devices as it will use a NAND support layer which already take in
account drawbacks from NAND device?

Here is how things are disposed in my head, does it has to be rectified?

PS : Is the Linux mtd layer (or a part of it) the equivalent of the
eCos NAND support?

Thanks for your time,
Best regards,
Paul

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [ECOS] JFFS2 for NAND flash file system
  2011-06-01  9:23   ` Paul MAILLET
@ 2011-06-01 10:54     ` Stanislav Meduna
  2011-06-01 12:23     ` [ECOS] Re: RE : " Ross Younger
  2011-06-01 14:44     ` Paul MAILLET
  2 siblings, 0 replies; 18+ messages in thread
From: Stanislav Meduna @ 2011-06-01 10:54 UTC (permalink / raw)
  To: ecos-discuss

On 01.06.2011 11:23, Paul MAILLET wrote:

> For me it is clear that the FS has nothing to do with all the NAND
> drawbacks, it's the job of the NAND support layer, isn't it?

If I understand it correctly, unfotunately that's not the case -
the NAND layer does not implement an abstraction of linear
error-free blocks, rotated and refreshed according to the
hardware needs. The filesystem still needs to know what
it is allowed to do - see e.g.
http://www.kernel.org/doc/htmldocs/mtdnand.html

  Filesystems must be aware of the NAND pecularities
  and restrictions. One major restrictions of NAND Flash
  is, that you cannot write as often as you want to a page.
  The consecutive writes to a page, before erasing it again,
  are restricted to 1-3 writes, depending on
  the manufacturers specifications. This applies similar
  to the spare area.

My question is: would it be possible/desirable to implement
an abstraction layer similar to e.g. a controller in
a SD-Card or a SSD flash drive? Then it would be possible
to use just about any fs, including FAT and similar beasts.

Regards
-- 
                                  Stano

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [ECOS] Re: RE : JFFS2 for NAND flash file system
  2011-06-01  9:23   ` Paul MAILLET
  2011-06-01 10:54     ` [ECOS] " Stanislav Meduna
@ 2011-06-01 12:23     ` Ross Younger
  2011-06-01 14:44     ` Paul MAILLET
  2 siblings, 0 replies; 18+ messages in thread
From: Ross Younger @ 2011-06-01 12:23 UTC (permalink / raw)
  To: ecos-discuss

* Paul MAILLET <paulmaillet37@gmail.com> wrote:
> For me it is clear that the FS has nothing to do with all the NAND
> drawbacks, it's the job of the NAND support layer, isn't it?
> PS : Is the Linux mtd layer (or a part of it) the equivalent of the
> eCos NAND support?

This would be correct from a traditional strict-abstractions worldview.
I don't know the full history, but for whatever reason this did not happen
in Linux when MTD parts came along.

The crux of the issue is how you view the NAND drawbacks: are they
issues to be worked around so you can reuse your existing filesystem,
or are they reminders that you are dealing with fundamentally different
technology which does not allow you to make the same assumptions you
were used to?

Both eCos NAND layers are similar in scope to the Linux mtd layer.
They both targetted YAFFS, so it was clear from the outset that they were
going to do a similar job to MTD. (Of course, they were both designed
specifically for eCos so are not identical to mtd.)

It is interesting to note that manufacturers of USB memory sticks - which
often contain NAND - do deal with just these issues in order to allow
their devices to be used with arbitrary filesystems (usually FAT). There
is an argument to be made that Linux and eCos should consider building
in such a translation layer, but I seem to recall that there were patent
issues, possibly arising from the USB memory stick manufacturers. Also,
I suspect there could be an overall efficiency penalty (as compared with
a flash-aware filesystem) if a NAND interface was to hide the drawbacks.


Ross

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [ECOS] Re: RE : JFFS2 for NAND flash file system
  2011-06-01  9:23   ` Paul MAILLET
  2011-06-01 10:54     ` [ECOS] " Stanislav Meduna
  2011-06-01 12:23     ` [ECOS] Re: RE : " Ross Younger
@ 2011-06-01 14:44     ` Paul MAILLET
  2011-06-07  7:14       ` Lambrecht Jürgen
       [not found]       ` <BANLkTi=795UVVWk-7NK8PNLRjV+0wfJ8pQ@mail.gmail.com>
  2 siblings, 2 replies; 18+ messages in thread
From: Paul MAILLET @ 2011-06-01 14:44 UTC (permalink / raw)
  To: ecos-discuss

Hi,

So the FS has to be aware of the NAND device. Plus, with this
abstraction layer using a journaled file system (like JFFS) will
introduce twice wear levelling... Thanks for the help.

Anyway, I need to go deeper with my eCos configuration here.
I succeeded in running JFFS2, but I am totaly unable to tell which
version it is, if it support NAND or not in this version or
anything...
I didn't found anything about the version I currently use, and more
it's quite disturbing to find these lines in the TODO's file from the
JFFS2 package (even in the v3.0 release version):

[...]
 - NAND flash support:
	- almost done :)
	- use bad block check instead of the hardwired byte check
[...]

All I can tell is that sources from the JFFS2 package I use are mostly
post 2004 with version like 1.1xx.

How can I ensure that my version support NAND?
Is there any tests I can run to validate the FS?

Thanks for your time,
Best regards,
Paul

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [ECOS] Re: RE : JFFS2 for NAND flash file system
  2011-06-01 14:44     ` Paul MAILLET
@ 2011-06-07  7:14       ` Lambrecht Jürgen
       [not found]       ` <BANLkTi=795UVVWk-7NK8PNLRjV+0wfJ8pQ@mail.gmail.com>
  1 sibling, 0 replies; 18+ messages in thread
From: Lambrecht Jürgen @ 2011-06-07  7:14 UTC (permalink / raw)
  To: ecos-discuss

On 06/01/2011 04:43 PM, Paul MAILLET wrote:
>
> Hi,
>
> So the FS has to be aware of the NAND device. Plus, with this
>
I think most FS's are aware of the HW below. FAT was designed for a HD 
(a rotating mechanical disk with cylinders ..), not for a flash device 
(silicon chip, with erase sectors, writing means first erasing to all 
1's, and flipping the needed bits to 0). Of course you can make a 
translation layer for compatibility at the cost of efficiency.
But flash is
>
> abstraction layer using a journaled file system (like JFFS) will
> introduce twice wear levelling... Thanks for the help.
>
why twice? NAND support on JFFS2 just adds (or should add, I don't know) 
some extra things needed for NAND on top of JFFS2-designed-for-NOR flash 
(ECC and BBT (bad block table)).
>
>
> Anyway, I need to go deeper with my eCos configuration here.
> I succeeded in running JFFS2, but I am totaly unable to tell which
> version it is, if it support NAND or not in this version or
> anything...
> I didn't found anything about the version I currently use, and more
> it's quite disturbing to find these lines in the TODO's file from the
> JFFS2 package (even in the v3.0 release version):
>
> [...]
>  - NAND flash support:
>         - almost done :)
>         - use bad block check instead of the hardwired byte check
> [...]
>
> All I can tell is that sources from the JFFS2 package I use are mostly
> post 2004 with version like 1.1xx.
>
I guess you need to check linux jffs2, maybe mail the mtd mailing list.
I remember a ask-for-support mail to update the JFFS2 in eCos.
>
>
> How can I ensure that my version support NAND?
>
Ask in a separate mail if anybody has done it before..
>
> Is there any tests I can run to validate the FS?
>
Use (T)FTP and read/write/overwrite/erase files until the FS is full, 
with big or small files, over and over again, for days, weeks, without 
power cycling or unmounting. And check the heap status.
>
>
> Thanks for your time,
> Best regards,
> Paul
>
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>


-- 
Jürgen Lambrecht
R&D Associate
Tel: +32 (0)51 303045    Fax: +32 (0)51 310670
http://www.televic-rail.com
Televic Rail NV - Leo Bekaertlaan 1 - 8870 Izegem - Belgium
Company number 0825.539.581 - RPR Kortrijk

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [ECOS] Re: RE : JFFS2 for NAND flash file system
       [not found]       ` <BANLkTi=795UVVWk-7NK8PNLRjV+0wfJ8pQ@mail.gmail.com>
@ 2011-06-20 12:42         ` Paul MAILLET
  2011-08-02  6:53           ` Lambrecht Jürgen
  0 siblings, 1 reply; 18+ messages in thread
From: Paul MAILLET @ 2011-06-20 12:42 UTC (permalink / raw)
  To: ecos-discuss

> On 06/01/2011 04:43 PM, Paul MAILLET wrote:

>>> abstraction layer using a journaled file system (like JFFS) will
>>> introduce twice wear levelling... Thanks for the help.
>>>
>> why twice? NAND support on JFFS2 just adds (or should add, I don't know)
>> some extra things needed for NAND on top of JFFS2-designed-for-NOR flash
>>(ECC and BBT (bad block table)).

 Twice because the FTL may introduce a wear leveling for the NAND flash, and
 the Journaled file system does introduce a wear leveling by principle. So
 you could have two wear-leveling... of course it's useless but it could
 happen.


>>> Is there any tests I can run to validate the FS?
>>>
>> Use (T)FTP and read/write/overwrite/erase files until the FS is full,
>> with big or small files, over and over again, for days, weeks, without
>> power cycling or unmounting. And check the heap status.

 The problem I encountered with the TFTP is that as I do not use the TCP/IP
 stack from ecos I must add the networking package to enable the TFTP server,
 but a conflict appear telling me that CYGPCK_NET_STACK should be enabled...
 Idem for the ATHTTP server as I don't use the TCP/IP stack from Ecos...
 I don't know if I can use both of them with my specific TCP/IP Stack...

 Best regards.
Paul

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [ECOS] Re: RE : JFFS2 for NAND flash file system
  2011-06-20 12:42         ` Paul MAILLET
@ 2011-08-02  6:53           ` Lambrecht Jürgen
  0 siblings, 0 replies; 18+ messages in thread
From: Lambrecht Jürgen @ 2011-08-02  6:53 UTC (permalink / raw)
  To: Paul MAILLET; +Cc: ecos-discuss

On 06/20/2011 02:42 PM, Paul MAILLET wrote:
>
> > On 06/01/2011 04:43 PM, Paul MAILLET wrote:
>
>
> >>> Is there any tests I can run to validate the FS?
> >>>
> >> Use (T)FTP and read/write/overwrite/erase files until the FS is full,
> >> with big or small files, over and over again, for days, weeks, without
> >> power cycling or unmounting. And check the heap status.
>
>  The problem I encountered with the TFTP is that as I do not use the 
> TCP/IP
>  stack from ecos I must add the networking package to enable the TFTP 
> server,
>  but a conflict appear telling me that CYGPCK_NET_STACK should be 
> enabled...
>  Idem for the ATHTTP server as I don't use the TCP/IP stack from Ecos...
>  I don't know if I can use both of them with my specific TCP/IP Stack...
>
Yes, but then you must adapt the CDL files to remove the restrictions, 
or to add your tcp/ip stack.
(bit late to answer..)
regards,
jürgen
>
>
>  Best regards.
> Paul
>
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>


-- 
Jürgen Lambrecht
R&D Associate
Tel: +32 (0)51 303045    Fax: +32 (0)51 310670
http://www.televic-rail.com
Televic Rail NV - Leo Bekaertlaan 1 - 8870 Izegem - Belgium
Company number 0825.539.581 - RPR Kortrijk

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [ECOS] Re: JFFS2 for NAND flash file system
       [not found]       ` <4DE55229.8000009@dallaway.org.uk>
@ 2012-01-11 11:35         ` Stanislav Meduna
  0 siblings, 0 replies; 18+ messages in thread
From: Stanislav Meduna @ 2012-01-11 11:35 UTC (permalink / raw)
  To: ecos-discuss

On 31.05.2011 22:40, John Dallaway wrote:

> It would be great to see UFFS ported to eCos, but we still need to draw
> the eCos NAND infrastructure technical review to a close and get eCos
> NAND support checked-in.
> 
> Jifl, are you still working on this?

Any news on NAND support in the public tree?

Last update in http://hg-pub.ecoscentric.com/nand-ecoscentric/
is 20 months old...

Thanks
-- 
                                       Stano

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [ECOS] JFFS2 for NAND flash file system
  2011-05-16 15:35 [ECOS] " Paul MAILLET
@ 2011-05-17  9:37 ` Ross Younger
  0 siblings, 0 replies; 18+ messages in thread
From: Ross Younger @ 2011-05-17  9:37 UTC (permalink / raw)
  To: ecos

On 16/05/11 13:05, Paul MAILLET wrote:
> Does this functionality has been completed today, or is it still on progress?
> However, if it's not implemented yet, what solution can I use to add a
> NAND Flash file system?

There's a YAFFS port for eCos, which is targetted specifically for NAND 
parts.

At the moment, NAND support is not in the eCos trunk, so to get it 
working you'd have to start with the public trunk, then pull from the 
nand-ecoscentric repository on http://hg-pub.ecoscentric.com/. YAFFS has 
its own license so is in a separate repository named 
yaffs-ecoscentric-gpl. You haven't said which board you're using, so 
it's likely that you will also need to add NAND support to the board HAL 
(and possibly a chip driver for whatever is on that board).


Ross

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [ECOS] JFFS2 for NAND flash file system
@ 2011-05-16 15:35 Paul MAILLET
  2011-05-17  9:37 ` Ross Younger
  0 siblings, 1 reply; 18+ messages in thread
From: Paul MAILLET @ 2011-05-16 15:35 UTC (permalink / raw)
  To: ecos-discuss

Hi,

I am currently working on adding JFFS2 component to my eCos
configuration but I am still not sure if the dev on this module is
complete.
As I can read in some TODOs or readme found in the JFFS2 package from
the repository of my devkit, NAND support is not yet implemented in
the module.
Does this functionality has been completed today, or is it still on progress?
However, if it's not implemented yet, what solution can I use to add a
NAND Flash file system?


Best regards,
Paul

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2012-01-11 11:35 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-05-17 10:15 [ECOS] RE : JFFS2 for NAND flash file system Paul MAILLET
2011-05-17 10:51 ` Ross Younger
2011-05-17 18:15 ` Stanislav Meduna
2011-05-31 15:20 ` [ECOS] " Paul MAILLET
2011-05-31 18:50   ` Ross Younger
2011-05-31 20:40     ` [ECOS] " Stanislav Meduna
     [not found]       ` <4DE55229.8000009@dallaway.org.uk>
2012-01-11 11:35         ` [ECOS] " Stanislav Meduna
2011-06-01  7:11     ` [ECOS] Re: RE : " Lambrecht Jürgen
2011-06-01  7:28   ` Lambrecht Jürgen
2011-06-01  9:23   ` Paul MAILLET
2011-06-01 10:54     ` [ECOS] " Stanislav Meduna
2011-06-01 12:23     ` [ECOS] Re: RE : " Ross Younger
2011-06-01 14:44     ` Paul MAILLET
2011-06-07  7:14       ` Lambrecht Jürgen
     [not found]       ` <BANLkTi=795UVVWk-7NK8PNLRjV+0wfJ8pQ@mail.gmail.com>
2011-06-20 12:42         ` Paul MAILLET
2011-08-02  6:53           ` Lambrecht Jürgen
  -- strict thread matches above, loose matches on Subject: below --
2011-05-16 15:35 [ECOS] " Paul MAILLET
2011-05-17  9:37 ` Ross Younger

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 read-only IMAP folder(s) and NNTP newsgroup(s).