From: Ivan Djelic <ivan.djelic@parrot.com>
To: Robert Jarzmik <robert.jarzmik@free.fr>
Cc: Marek Vasut <marek.vasut@gmail.com>,
Mike Dunn <mikedunn@newsguy.com>,
"linux-mtd@lists.infradead.org" <linux-mtd@lists.infradead.org>
Subject: Re: [PATCH] Add driver for M-sys / Sandisk diskonchip G4 nand flash
Date: Thu, 13 Oct 2011 10:37:04 +0200 [thread overview]
Message-ID: <20111013083704.GA12110@parrot.com> (raw)
In-Reply-To: <871uuhl6mq.fsf@free.fr>
On Thu, Oct 13, 2011 at 07:58:53AM +0100, Robert Jarzmik wrote:
> Hi Ivan,
>
> For the lonely parity byte, I can confirm it's a Hamming parity over 7
> bytes. This parity byte is generated by the hardware as well when the page is
> written :
> - 512 bytes of data are written into the page
> - then 7 bytes of OOB are written
> - then the "Hamming HW register is read" => we get the ECC back
> => this is the generation you're talking about
> - then 1 byte of OOB is written => we write the Hamming ECC
> - then 7 bytes of BCH ECC registers are read
> - then 7 bytes of BCH ECC are written
> - then 1 byte (dummy byte) is written
OK, thanks. I had missed a few comments in Mike's code about this.
I'm still a little puzzled as to how this Hamming code works.
If it was meant to correct 1 bitflip in 7 bytes + 1 parity byte, then it
should be at least 12 bits long.
If the idea is to simply detect a single bitflip, then 6 bits are enough.
Maybe the probability of having 2 bitflips in 7 oob bytes is low enough to
allow reading oob using this simple check ?
> The exciting part is that with Mike and your work, I know what the unexplained
> '7' now means, and that I can add the ECC checks to docg3 :)
Nice :)
And kudos to you and Mike for the reverse-engineering...
--
Ivan
next prev parent reply other threads:[~2011-10-13 8:38 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-10 14:48 [PATCH] Add driver for M-sys / Sandisk diskonchip G4 nand flash Mike Dunn
2011-10-10 15:51 ` Marek Vasut
2011-10-10 18:12 ` Ivan Djelic
2011-10-10 21:02 ` Mike Dunn
2011-10-11 11:50 ` Ivan Djelic
2011-10-11 19:17 ` Mike Dunn
2011-10-12 18:49 ` Ivan Djelic
2011-10-13 1:18 ` Mike Dunn
2011-10-13 6:58 ` Robert Jarzmik
2011-10-13 8:37 ` Ivan Djelic [this message]
2011-10-13 15:52 ` Mike Dunn
2011-10-10 20:20 ` Mike Dunn
2011-10-12 21:28 ` Robert Jarzmik
2011-10-13 0:26 ` Marek Vasut
2011-10-13 2:25 ` Mike Dunn
2011-10-13 1:53 ` Mike Dunn
2011-10-17 21:45 ` Mike Dunn
2011-10-20 16:31 ` Artem Bityutskiy
2011-10-20 19:57 ` Mike Dunn
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=20111013083704.GA12110@parrot.com \
--to=ivan.djelic@parrot.com \
--cc=linux-mtd@lists.infradead.org \
--cc=marek.vasut@gmail.com \
--cc=mikedunn@newsguy.com \
--cc=robert.jarzmik@free.fr \
/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;
as well as URLs for NNTP newsgroup(s).