From: "Jörn Engel" <joern@wohnheim.fh-wedel.de>
To: "Artem B. Bityuckiy" <dedekind@infradead.org>
Cc: David Woodhouse <dwmw2@infradead.org>,
MTD List <linux-mtd@lists.infradead.org>
Subject: Re: JFFS3 & performance
Date: Tue, 11 Jan 2005 22:51:02 +0100 [thread overview]
Message-ID: <20050111215102.GA6289@wohnheim.fh-wedel.de> (raw)
In-Reply-To: <Pine.LNX.4.58.0501111221260.19297@phoenix.infradead.org>
On Tue, 11 January 2005 12:29:33 +0000, Artem B. Bityuckiy wrote:
> Ferenc Havasi:
> >If I am right CRCs are not only against the effect of unclean reboots
> >but also to handle flash errors. On NAND flashes the ECC handles this
> >problem but NOR doesn't have any error detection system.
>
> Joern Engel wrote:
> >So either we can make sure this case never happens, or we can't. It
> >depends on the type of flash, for sure, and it may be pretty hard with
> >some types. But if it doesn't work at all, the flash is broken,
> >period.
>
> Hi, that is really interesting, *why* do we need CRCs in JFFS2?
>
> Do we need CRC *only* to handle unclean reboots? If so, we may possibly
> handle it another way, just putting some magic word at the end of node.
> Possibly, no need for CRC at all.
>
> Joern stands that if Flash got rotten, we *do not need* to do something
> special trying to recover data. Am I right?
Pretty much. Detecting the breakage is still a good thing, so we can
report an error. There are non-embedded devices with flash and users
want to see the problem and replace their flash. But apart from that,
don't try too hard to fix something that cannot be fixed.
> I still think we need to do recovery in case of NAND, mark the rotten
> block bad and keep working, so we still need CRC. In case of NOR, we
> possibly should just report error and do nothing (we can't mark block bad
> there). Do not know about ECC NOR.
>
> Comments?
Ok, here is my approach.
Claim: No mtd has problems with lost data due to bad blocks. This is
a complete non-issue and jffs[23] doesn't care.
"No" means that less than .001% (add or remove some digits, depending
on your needs) of all devices have this problem. In those cases, the
system just won't work and will be replaced. Business as usual.
Now, if any particular flash doesn't match this requirement, the mtd
driver is supposed to mirror all blocks. If either copy rots away,
the data can still be read back from the other block. After GC, the
block can be marked as bad and everyone lives on happily ever after.
Capacity is half the original, but that's better than losing
/sbin/init now and then, right? And maybe the flash is cheap enough
that noone cares.
Sane?
> P.S. By the way, we could put CRCs at the end of blocks (*after* data) -
> in this case CRC well be extremely strong detecting unclean reboots, isn't
> it?
Interesting idea. Will make the code slightly messy, but it should be
worth it.
Jörn
--
Do not stop an army on its way home.
-- Sun Tzu
next prev parent reply other threads:[~2005-01-11 21:51 UTC|newest]
Thread overview: 196+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-11 12:29 JFFS3 & performance Artem B. Bityuckiy
2005-01-11 14:37 ` Josh Boyer
2005-01-11 21:51 ` Jörn Engel [this message]
2005-01-12 0:06 ` Thomas Gleixner
2005-01-12 16:59 ` Jörn Engel
2005-01-12 17:37 ` Thomas Gleixner
2005-01-12 18:17 ` Jörn Engel
2005-01-12 9:15 ` Artem B. Bityuckiy
2005-01-12 16:41 ` Jared Hulbert
2005-01-12 17:02 ` Jörn Engel
2005-01-12 17:06 ` David Woodhouse
2005-01-12 17:11 ` Jörn Engel
2005-01-12 17:22 ` Jared Hulbert
2005-01-12 17:28 ` Artem B. Bityuckiy
2005-01-12 17:34 ` David Woodhouse
2005-01-12 17:45 ` Dan Post
2005-01-12 17:52 ` David Woodhouse
2005-01-12 17:14 ` Artem B. Bityuckiy
2005-01-12 22:30 ` Jared Hulbert
2005-01-12 22:43 ` Josh Boyer
2005-01-12 22:55 ` Jared Hulbert
2005-01-13 15:50 ` Josh Boyer
2005-01-13 18:30 ` Jared Hulbert
2005-01-13 18:36 ` David Woodhouse
2005-01-13 19:06 ` Jörn Engel
2005-01-13 19:22 ` Josh Boyer
2005-01-13 18:55 ` Artem B. Bityuckiy
2005-01-13 19:10 ` Brian Fox
2005-01-13 19:23 ` Artem B. Bityuckiy
2005-01-28 6:08 ` Eric W. Biederman
2005-01-13 7:54 ` David Woodhouse
2005-01-13 8:25 ` Artem B. Bityuckiy
2005-01-13 15:09 ` Jörn Engel
2005-01-12 18:10 ` Jörn Engel
2005-01-12 18:27 ` Thomas Gleixner
2005-01-12 18:40 ` Jörn Engel
2005-01-12 18:42 ` David Woodhouse
2005-01-12 18:43 ` Artem B. Bityuckiy
2005-01-12 19:16 ` Thomas Gleixner
2005-01-12 19:44 ` Jörn Engel
2005-01-12 19:53 ` Thomas Gleixner
2005-01-12 20:06 ` Jörn Engel
2005-01-12 18:33 ` Artem B. Bityuckiy
2005-01-12 18:43 ` Jörn Engel
2005-01-12 18:45 ` Artem B. Bityuckiy
2005-01-12 18:58 ` Artem B. Bityuckiy
2005-01-12 19:50 ` Jörn Engel
2005-01-13 14:49 ` Artem B. Bityuckiy
2005-01-13 15:05 ` Artem B. Bityuckiy
2005-01-13 15:17 ` Jörn Engel
2005-01-13 15:22 ` Artem B. Bityuckiy
2005-01-13 15:40 ` Jörn Engel
2005-01-13 15:49 ` David Woodhouse
2005-01-13 15:53 ` Artem B. Bityuckiy
2005-01-13 16:13 ` Jörn Engel
2005-01-13 16:16 ` Artem B. Bityuckiy
2005-01-13 16:21 ` Jörn Engel
2005-01-13 16:22 ` Artem B. Bityuckiy
2005-01-13 16:21 ` Artem B. Bityuckiy
2005-01-14 13:46 ` Jamey Hicks
2005-01-14 14:16 ` Artem B. Bityuckiy
2005-01-18 15:50 ` Joakim Tjernlund
2005-01-19 13:07 ` Artem B. Bityuckiy
2005-01-19 15:24 ` Jörn Engel
2005-01-19 15:27 ` Artem B. Bityuckiy
2005-01-19 15:32 ` Jörn Engel
2005-01-19 15:51 ` Artem B. Bityuckiy
2005-01-19 16:31 ` Jörn Engel
2005-01-19 19:58 ` Artem B. Bityuckiy
2005-01-20 14:35 ` Jörn Engel
2005-01-20 14:37 ` David Woodhouse
2005-01-20 14:40 ` Jörn Engel
2005-01-20 15:05 ` Artem B. Bityuckiy
2005-01-20 15:27 ` Jörn Engel
2005-01-20 15:37 ` Artem B. Bityuckiy
2005-01-20 16:13 ` Jörn Engel
2005-01-20 16:31 ` Artem B. Bityuckiy
2005-01-20 16:41 ` Jörn Engel
2005-01-20 17:08 ` Artem B. Bityuckiy
2005-01-20 17:33 ` Jörn Engel
2005-01-20 17:57 ` Artem B. Bityuckiy
2005-01-21 12:44 ` Jörn Engel
2005-01-21 13:13 ` Artem B. Bityuckiy
2005-01-21 13:42 ` Jörn Engel
2005-01-21 13:52 ` Artem B. Bityuckiy
2005-01-21 14:00 ` Jörn Engel
2005-01-21 14:04 ` Artem B. Bityuckiy
2005-01-25 10:51 ` Jörn Engel
2005-01-25 10:56 ` David Woodhouse
2005-01-25 11:13 ` Jörn Engel
2005-01-21 14:30 ` Josh Boyer
2005-01-21 22:33 ` Jared Hulbert
2005-01-21 22:46 ` Jared Hulbert
2005-01-21 23:54 ` Josh Boyer
2005-01-22 13:03 ` Artem B. Bityuckiy
2005-01-22 22:04 ` David Woodhouse
2005-01-23 10:03 ` Artem B. Bityuckiy
2005-01-23 10:08 ` Artem B. Bityuckiy
2005-01-23 11:04 ` David Woodhouse
2005-01-23 11:55 ` Artem B. Bityuckiy
-- strict thread matches above, loose matches on Subject: below --
2004-12-16 13:20 Joakim Tjernlund
2004-12-16 14:27 ` Artem B. Bityuckiy
2004-12-16 14:45 ` Joakim Tjernlund
2004-12-16 14:50 ` Artem B. Bityuckiy
2004-12-16 15:00 ` Joakim Tjernlund
2004-12-16 17:53 ` Jörn Engel
2004-12-16 18:42 ` Artem B. Bityuckiy
2004-12-16 19:15 ` Jörn Engel
2004-12-16 19:49 ` Jörn Engel
2004-12-16 19:58 ` Joakim Tjernlund
2004-12-16 20:46 ` Jörn Engel
2004-12-16 20:02 ` Joakim Tjernlund
2004-12-16 20:37 ` Thomas Gleixner
2004-12-16 20:51 ` Jörn Engel
2004-12-16 21:02 ` Thomas Gleixner
2004-12-16 21:06 ` Joakim Tjernlund
2004-12-16 21:22 ` Jörn Engel
2004-12-16 22:06 ` Joakim Tjernlund
2004-12-17 10:25 ` Jörn Engel
2004-12-17 10:44 ` Joakim Tjernlund
2004-12-17 10:56 ` Artem B. Bityuckiy
2004-12-17 10:46 ` jasmine
2004-12-17 11:01 ` Artem B. Bityuckiy
2004-12-17 11:19 ` Joakim Tjernlund
2004-12-18 16:09 ` Jörn Engel
2004-12-18 16:26 ` Joakim Tjernlund
2004-12-18 16:52 ` Jörn Engel
2004-12-17 11:10 ` Joakim Tjernlund
2004-12-17 11:20 ` Artem B. Bityuckiy
2004-12-22 13:36 ` Artem B. Bityuckiy
2004-12-22 14:03 ` Jörn Engel
2004-12-22 14:44 ` Artem B. Bityuckiy
2004-12-22 15:14 ` Jörn Engel
2004-12-22 15:25 ` Artem B. Bityuckiy
2004-12-22 16:08 ` Jörn Engel
2004-12-22 20:22 ` xemc
2004-12-22 20:43 ` xemc
2004-12-22 20:49 ` Jasmine Strong
2004-12-22 15:30 ` Joakim Tjernlund
2004-12-22 15:37 ` Artem B. Bityuckiy
2004-12-22 15:47 ` Joakim Tjernlund
2004-12-22 15:56 ` Artem B. Bityuckiy
2004-12-22 16:09 ` Jörn Engel
2004-12-22 16:17 ` Artem B. Bityuckiy
2004-12-22 16:43 ` Joakim Tjernlund
2004-12-22 16:46 ` Artem B. Bityuckiy
2004-12-22 17:26 ` Jörn Engel
2004-12-22 18:14 ` xemc
2004-12-22 18:20 ` Artem B. Bityuckiy
2004-12-23 13:52 ` Jörn Engel
2004-12-23 17:02 ` Artem B. Bityuckiy
2005-01-07 11:10 ` Artem B. Bityuckiy
2005-01-07 11:09 ` David Woodhouse
2005-01-07 11:27 ` jasmine
2005-01-07 11:43 ` Artem B. Bityuckiy
2005-01-07 14:23 ` Artem B. Bityuckiy
2005-01-07 14:27 ` jasmine
2005-01-07 14:33 ` Artem B. Bityuckiy
2005-01-07 14:37 ` jasmine
2005-01-07 14:43 ` Artem B. Bityuckiy
2005-01-07 14:55 ` jasmine
2005-01-07 15:20 ` Artem B. Bityuckiy
2005-01-07 15:24 ` jasmine
2005-01-07 15:28 ` Artem B. Bityuckiy
2005-01-07 15:31 ` jasmine
2005-01-07 15:32 ` Artem B. Bityuckiy
2005-01-07 17:57 ` Artem B. Bityuckiy
2005-01-07 14:50 ` Artem B. Bityuckiy
2005-01-07 14:31 ` Artem B. Bityuckiy
2005-01-06 10:08 ` Artem B. Bityuckiy
2005-01-08 20:14 ` Jörn Engel
2005-01-09 11:39 ` Artem B. Bityuckiy
2005-01-10 14:24 ` Jörn Engel
2004-12-22 15:59 ` jasmine
2004-12-22 16:19 ` Jörn Engel
2004-12-22 16:21 ` Artem B. Bityuckiy
2004-12-22 15:56 ` Jörn Engel
2004-12-22 16:39 ` Joakim Tjernlund
2004-12-22 17:33 ` Jörn Engel
2004-12-17 11:20 ` Jörn Engel
2004-12-18 12:23 ` Artem B. Bityuckiy
2004-12-21 14:45 ` Artem B. Bityuckiy
2004-12-21 16:03 ` Jörn Engel
2004-12-17 11:33 ` David Vrabel
2004-12-17 15:34 ` Joakim Tjernlund
2004-12-18 16:14 ` Jörn Engel
2004-12-18 16:25 ` Joakim Tjernlund
2004-12-18 16:39 ` Jörn Engel
2004-12-18 17:10 ` Joakim Tjernlund
2004-12-18 17:19 ` Jörn Engel
2004-12-18 17:51 ` Joakim Tjernlund
2004-12-18 17:59 ` Jörn Engel
2004-12-18 18:13 ` Joakim Tjernlund
2004-12-19 3:05 ` Jörn Engel
2004-12-18 18:09 ` Joakim Tjernlund
2004-12-21 14:38 ` Jörn Engel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050111215102.GA6289@wohnheim.fh-wedel.de \
--to=joern@wohnheim.fh-wedel.de \
--cc=dedekind@infradead.org \
--cc=dwmw2@infradead.org \
--cc=linux-mtd@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox