[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Axis' JFFS

At 09:49 AM 10/25/2001 -0400, aelyoussefi@xxxxxxx.net wrote:
>I have a question regarding the original JFFS version.
>I believe that this version was implemented in compliance
>with Linux 2.0.x VFS. The latest release of this original
>JFFS ( in http://developer.axis.com/download/elinux/ ) was
>on oct 27, 2000.
>-> Does this version incorporate the fixes done to  JFFS
>comming with the 2.2 and 2.3 Linux series ( especialy regarding
>how many powerfails can be endured without problems )?

I would not assume it at all. If you want a quick check, compare the
routines "jffs_scan_flash()" in intrep.c between the two versions.

Almost all the issues with surviving a power fail were encountered and 
fixed in this routine (that I can remember. In my mind JFFS is deprecated 
anyway so I've purged all info re. it from my brain :)).

>-> To what extent has JFFS for Linux 2.0.x been tested ?

No idea. I did not test it.

>-> Is there a more recent version of JFFS for Linux 2.0.x ?

No idea.

>-> what is exactly the fliping bits problem encountered with JFFS?

Briefly: I encountered a problem during power fail testing where a bit(s) 
would flip between "1" & "0" if you read it (them) multiple times.
I've hypothesized that this occurs when power fails during an erase. Just 
enough charge remains trapped in the floating gate to cause the sense 
(read) amplifier for that bit to flip between a "1" &  "0". This problem is 
fixed by re-erasing the entire sector which ensures that this intermediate 
amount of charge is filled up completely (or drained whichever is the 
erased state).

Unfortunately there is no reliable way to detect this in JFFS. This issue 
has been fixed for sure in JFFS2. The reliable solution is of course to 
have a flag at the start of each sector to indicate the erase-completed and 
erasing states clearly marked with no possibility of any ambiguity. On 
remount any sectors with the erasing or unrecognized flag is re-erased to 
be sure. In other words the problem is solved at the JFFS2 sector 
formatting level and not at the physical flash level. If I recall correctly 
this was suggested by Alan Cox and implemented by David Woodhouse in JFFS2.

I termed this problem "flipping bits" :)

If you want more details please go through the JFFS list archives.



To unsubscribe from this list: send the line "unsubscribe jffs-dev" in
the body of a message to majordomo@xxxxxxx.com